我正在尝试找到一种将 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?
如果您只需要导出一个完整的表,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;
(用你的查询替换选择)