【问题标题】:Load HBase records from PIG conditionally有条件地从 PIG 加载 HBase 记录
【发布时间】:2013-05-14 19:13:52
【问题描述】:

有没有办法根据 HBase 中特定列的值将记录从 HBase 加载到猪关系中?谢谢你

【问题讨论】:

    标签: hadoop mapreduce hbase hive apache-pig


    【解决方案1】:

    如果您查看source code for the pig HBase loader,您会发现它可以过滤键范围和时间戳,它可以按前缀获取列,但不能按列值过滤。

    您可以编写自己的加载程序(甚至基于该代码)并添加您需要的功能。请注意,无论如何过滤列值的性能都不会很好,并且在映射器中过滤该值虽然比在 HBase 过滤器中过滤慢,但不会有那么不同(您基本上可以保存来自 regionserver 的进程间通信给猪映射器)

    【讨论】:

    • 时间戳过滤是否可用取决于您使用的 pig/hbase 版本。这是在猪 0.10.0 中引入的。但是,如果您使用的是 cloudera,则很难说出这是什么版本,但肯定是在 0.10.0-cdh4.1.3 之后(对我来说不幸的是,因为那是我公司所坚持的版本)。判断可以过滤哪些标志的最佳方法是获取您的 pig 版本的源代码并查看 HBaseStorage 类。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-01
    相关资源
    最近更新 更多