【问题标题】:Cascalog Hadoop version supportCascalog Hadoop 版本支持
【发布时间】:2013-09-10 19:47:09
【问题描述】:

我注意到 Cascalog 入门指南指定了 Hadoop 版本

:profiles { :dev {:dependencies [[org.apache.hadoop/hadoop-core "1.0.3"]]}}

如果我的团队使用不同版本的 Hadoop,那我会不会走运?更广泛地说,Cascalog 可以与哪些 Hadoop 版本进行互操作?

【问题讨论】:

  • 级联兼容性矩阵在这里:cascading.org/support/compatibility。其他发行版可能有效,但不受官方支持。
  • @Alex 这是一张不错的图表。 Cascalog 和 Cascading 的支持是否完全匹配?

标签: hadoop clojure cascalog


【解决方案1】:

简单的答案是目前(截至 2014 年 8 月 10 日)Cascalog 的版本为 2.1.1,默认情况下使用 Cascading 2.5.3 和 Hadoop 1.2.1,所以是的,如果您的团队没有使用 Hadoop 版本 1.x那你就不走运了。

但是,Cascalog 可以移植到 Hadoop 2.x。 Cascading 2.5.x 支持 Hadoop 2,来自文档 Hadoop 1 vs Hadoop 2:

Cascading 2.5 通过提供两个 Java 依赖项 cascading-hadoop.jar 和 cascading-hadoop2-mr1.jar 同时支持 Hadoop 1.x 和 2.x。这些依赖关系可以互换,但 hadoop2-mr1.jar 引入了新的并在适当的情况下弃用了旧的 API 调用。需要指出的是 hadoop1-mr1.jar 只支持 MapReduce 1 API 约定。通过这种命名方案,可以引入新的 API 约定,而不会有依赖项命名冲突的风险。

以下是更新 Cascalog 到 Hadoop 2.x 的幼稚指南:

  • 更新project file中的cascading-hadoop jar
  • 更新HADOOP-VERSION配置文件中的hadoop版本
  • 查找已弃用的 Cascading API 的所有用途并更新到新约定。
  • 编译并修复警告/错误
  • 重复发生

我不是 Cascalog 源代码方面的专家,但使用几行 grep 即可找到 Cascading API 的使用,升级 API 似乎很简单,虽然有点乏味。

【讨论】:

  • 快一年了,有谁知道这方面有什么变化吗?看来人们现在必须使用更高版本的级联运行 cascalog,但我找不到任何文档/文章来建议这一点。
  • 据我所知,这方面没有任何变化。查看 3.0.0 更新日志 github.com/nathanmarz/cascalog/blob/develop/CHANGELOG.md 并没有透露任何关于提升级联或 hadoop 版本的计划
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
  • 1970-01-01
  • 2018-09-11
  • 1970-01-01
相关资源
最近更新 更多