【问题标题】:Upgrade Apache Hbase hadoop 0.94 to 1.0.0, override map method compilation file将Apache Hbase hadoop 0.94升级到1.0.0,覆盖map方法编译文件
【发布时间】:2015-09-07 11:14:12
【问题描述】:

在 org.apache.hadoop.hbase.client.Result 类版本 0.94 中实现了 Writable 接口。 我们使用它来覆盖通用映射器方法以支持不同的数据源(Hbase 就是其中之一) 目前我们尝试升级 Hbase 客户端版本,我们有以下问题: Hbase 1.0.0 的 org.apache.hadoop.hbase.client.Result 类没有实现 Writable 接口,因此我们在使用旧的 Mapper 覆盖方法时遇到问题,该方法接收可写接口作为参数之一。 有什么想法吗?

【问题讨论】:

    标签: java apache hadoop cloudera-cdh


    【解决方案1】:

    只需使用最新的 API jar 编译您的程序,更好地在新环境中使用来自 hadoop 的所有最新 jar 完全编译您的代码,因为 Hbase 新版本也与 hadoop 旧版本不兼容。问题是新的 HBase 实现已经重命名了几个类,这些类在内部被其他 API 类引用。即使您不直接导入它们,程序也会在运行时失败。

    我们在从 0.94 升级到 0.98 时遇到了同样的 Writable 问题

    【讨论】:

    • 谢谢,我用的是上次推荐的版本:hadoop-common version:2.6.0-cdh5.4.5 hbase-client version:2.6.0-cdh5.4.5。问题的原因是 Result 类的实现层次结构发生了变化,变化是在 hbase 客户端 0.95 中,如果你解决了这个问题,看起来你做了额外的事情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-30
    • 2010-10-10
    • 1970-01-01
    相关资源
    最近更新 更多