2013-04-26 99 views
2

我想找到一种方法来将hbase查询结果读入制表符分隔的文本文件。 HBase的表people如何将hbase表打印到一个制表符分隔的文本文件

结构:

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

我想在其中像这样创建一个文本文件,它输出:

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

是否有可用于此的任何工具,如出口可用于输出hbase到hdfs?

回答

2

如果你只需要导出一个完整的表的HBase附带了一个工具来做到这一点看here

另一种选择是使用猪这也将让你操纵/过滤器等的结果导出例如前

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'); 

编辑:我只注意到这个被加上蜂巢所以如果你使用,你可以这样做INSERT OVERWRITE DIRECTORY '/result_file' SELECT * FROM table_name;(替换为您的查询选择)

+0

非常感谢!我会尝试它,让你知道,我们的网格已经关闭,所以不能立即测试它 – user2325080 2013-04-29 19:23:40

+0

试图导出!工作...但是,当我尝试hadoop dfs -text文件时,我得到的是一个缺少类名的异常 java.lang.RuntimeException:java.io.IOException:WritableName无法加载类:org.apache.hadoop .hbase.io.ImmutableBytesWritable – user2325080 2013-04-30 22:42:12

+0

http://stackoverflow.com/questions/16310177/sequence-files-created-by-hbase-export-utility-arent-readable – user2325080 2013-04-30 22:48:36

相关问题