Hadoop 如何将hbase表打印到选项卡分隔的文本文件

Hadoop 如何将hbase表打印到选项卡分隔的文本文件,hadoop,hbase,hive,Hadoop,Hbase,Hive,我正在试图找到一种方法,将hbase查询结果读入一个以制表符分隔的文本文件 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?如果您只需要导出一个完整的表,hbase附带了一个实

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

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?

如果您只需要导出一个完整的表,hbase附带了一个实用程序,请参见

另一种选择是使用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\u file'SELECT*FROM table\u name(用您的查询替换选择)

非常感谢!!我会试试看,让你知道,我们的电网坏了,所以无法测试它,因为出口失败!!工作…但是,当我尝试hadoop dfs文本文件时,我得到的是一个缺少类名的java.lang.RuntimeException异常:java.io.IOException:WritableName无法加载类:org.apache.hadoop.hbase.io.ImmutableBytesWritable