04.07.2013 Views

Hadoop: The Definitive Guide - Cdn.oreilly.com

Hadoop: The Definitive Guide - Cdn.oreilly.com

Hadoop: The Definitive Guide - Cdn.oreilly.com

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!