【问题标题】:How to print a hbase table to a tab separated text file如何将 hbase 表打印到制表符分隔的文本文件
【发布时间】:2013-04-26 19:15:11
【问题描述】:

我正在尝试找到一种将 hbase 查询结果读入制表符分隔的文本文件的方法。

hbase表结构people

12 column-name=name;value=John Smith
10 column-name=name;value=Jack Johnson

我想将它输出到一个这样创建的文本文件中:

- 12(tab)John Smith
- 10(tab)Jack Johnson

是否有任何可用的工具,例如导出可用于将 hbase 输出到 hdfs?

【问题讨论】:

    标签: hadoop hbase hive


    【解决方案1】:

    如果您只需要导出一个完整的表,HBase 附带一个实用程序来执行此操作,请参阅here

    另一种选择是使用 Pig,它还可以让您在导出之前操作 /filter 等结果,例如

    SOURCE = LOAD 'hbase://tableName'
           USING org.apache.pig.backend.hadoop.hbase.HBaseStorage(
           'cfName:name', '-loadKey true')
           AS (id:bytearray, name:chararray);
    
    -- do some filtering or other manipulation here
    STORE SOURCE INTO '/result_file' USING PigStorage('\t');
    

    编辑:我刚刚注意到这是用 hive 标记的,所以如果你使用它,你可以做类似INSERT OVERWRITE DIRECTORY '/result_file' SELECT * FROM table_name; 的事情(用你的查询替换选择)

    【讨论】:

    • 非常感谢!!我会尝试并告诉您,我们的网格已关闭,因此无法立即进行测试
    • 尝试导出!!工作......但是,当我尝试对文件进行hadoop dfs -text时,我得到的是java.lang.RuntimeException的类名丢失异常:java.io.IOException:WritableName无法加载类:org.apache.hadoop。 hbase.io.ImmutableBytesWritable
    猜你喜欢
    • 1970-01-01
    • 2015-07-11
    • 2018-01-04
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 2011-05-30
    • 1970-01-01
    相关资源
    最近更新 更多