2

我正在尝试找到一种将 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?

4

1 回答 1

2

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

另一种选择是使用 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;(用你的查询替换选择)

于 2013-04-27T08:14:52.673 回答