Hadoop: The Definitive Guide - Cdn.oreilly.com
Hadoop: The Definitive Guide - Cdn.oreilly.com
Hadoop: The Definitive Guide - Cdn.oreilly.com
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
What’s Covered in This Book<br />
This book covers all the releases in Table 1-2. In the cases where a feature is available<br />
only in a particular release, it is noted in the text.<br />
<strong>The</strong> code in this book is written to work against all these release series, except in a small<br />
number of cases, which are called out explicitly. <strong>The</strong> example code available on the<br />
website has a list of the versions that it was tested against.<br />
Configuration names<br />
Configuration property names have been changed in the releases after 1.x, in order to<br />
give them a more regular naming structure. For example, the HDFS properties pertaining<br />
to the namenode have been changed to have a dfs.namenode prefix, so<br />
dfs.name.dir has changed to dfs.namenode.name.dir. Similarly, MapReduce properties<br />
have the mapreduce prefix, rather than the older mapred prefix, so mapred.job.name has<br />
changed to mapreduce.job.name.<br />
For properties that exist in version 1.x, the old (deprecated) names are used in this book<br />
because they will work in all the versions of <strong>Hadoop</strong> listed here. If you are using a release<br />
after 1.x, you may wish to use the new property names in your configuration files and<br />
code to remove deprecation warnings. A table listing the deprecated properties names<br />
and their replacements can be found on the <strong>Hadoop</strong> website at http://hadoop.apache<br />
.org/<strong>com</strong>mon/docs/r0.23.0/hadoop-project-dist/hadoop-<strong>com</strong>mon/DeprecatedProperties<br />
.html.<br />
MapReduce APIs<br />
<strong>Hadoop</strong> provides two Java MapReduce APIs, described in more detail in “<strong>The</strong> old and<br />
the new Java MapReduce APIs” on page 27. This edition of the book uses the new<br />
API for the examples, which will work with all versions listed here, except in a few cases<br />
where a MapReduce library using new API is not available in the 1.x releases. All the<br />
examples in this book are available in the old API version (in the oldapi package) from<br />
the book’s website.<br />
Where there are material differences between the two APIs, they are discussed in the<br />
text.<br />
Compatibility<br />
When moving from one release to another, you need to consider the upgrade steps that<br />
are needed. <strong>The</strong>re are several aspects to consider: API <strong>com</strong>patibility, data <strong>com</strong>patibility,<br />
and wire <strong>com</strong>patibility.<br />
API <strong>com</strong>patibility concerns the contract between user code and the published <strong>Hadoop</strong><br />
APIs, such as the Java MapReduce APIs. Major releases (e.g., from 1.x.y to 2.0.0) are<br />
allowed to break API <strong>com</strong>patibility, so user programs may need to be modified and<br />
<strong>Hadoop</strong> Releases | 15