我正在尝试找到一种将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?
答案 0 :(得分:2)
如果您只需要导出一个完整的表HBase附带一个实用程序来执行此操作,请参阅here
另一种选择是使用Pig,它也可以让你在导出之前操作/过滤等结果。
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;
之类的事情(用你的查询替换select)