我注意到Cascalog入门指南指定了Hadoop的一个版本
:profiles { :dev {:dependencies [[org.apache.hadoop/hadoop-core "1.0.3"]]}}
如果我的团队使用不同版本的Hadoop,那么我是不是不走运?更广泛地说,Cascalog与哪组Hadoop版本互操作?
发布于 2014-08-11 10:41:01
简单的答案是,目前(截至2014年8月10日) Cascalog的版本是2.1.1,默认情况下使用Cascading 2.5.3和Hadoop 1.2.1,所以是的,如果您的团队没有使用Hadoop版本1.x,那么您就不走运了。
但是,Cascalog可以移植到Hadoop2.x。从文档Hadoop 1 vs Hadoop 2中可以看出,Cascading2.5.x支持Hadoop2
JavaCascading2.5通过提供两个
依赖项同时支持Hadoop1.x和2.x : cascading-hadoop.jar和cascading-hadoop2-mr1.jar。这些依赖项可以互换,但是hadoop2-mr1.jar引入了新的API调用,并在适当的地方弃用了旧的API调用。应该指出的是,hadoop1-mr1.jar只支持MapReduce 1API约定。使用此命名方案,可以引入新的API约定,而不会存在依赖项上的命名冲突风险。
以下是将Cascalog更新到Hadoop 2.x的简单指南:
hadoop更新project file
的
我不是Cascalog源代码方面的专家,但是只需几行grep就可以找到级联API的用法,而且升级API看起来非常简单,虽然有点乏味。
https://stackoverflow.com/questions/18662357
复制相似问题