Details
-
New Feature
-
Status: Resolved
-
Resolution: Fixed
-
None
-
None
-
None
Description
Hadoop 2 unfortunately introduced backwards-incompatible changes in classes used by Spark, `JobContext` and `TaskAttemptContext` in both the `mapred` and `mapreduce` packages. In the new codebase, these classes are now interfaces and thus cannot be instantiated directly anymore. Instead, you are now required to use the `JobContextImpl` and `TaskAttemptContextImpl` classes, respectively.
This pull requests extracts the code in Spark where it uses these, into separate traits that are located in Hadoop major version specific source folders that the sbt build then includes/excludes as necessary.
In addition, for Hadoop 2, Spark now also needs to depend on the `hadoop-client` artifact.
This pull request is a new version of #264 against the 0.6 dev branch.