如何在文本文件中转储hbase表?

时间:2011-10-11 10:51:52

标签: hbase

我需要在HBase中转储一个表并以文本文件/ csv格式需要它吗?我在HBase shell中查找了scanexportget命令,但它不起作用。

2 个答案:

答案 0 :(得分:3)

有很多方法可以从HBase表中获取数据,例如运行导出映射/减少作业。您可以在此处阅读此处和其他http://blog.sematext.com/2011/03/11/hbase-backup-options/ 如果要控制写入哪些行/单元格,可以使用pig scripts

执行此操作
x = LOAD 'hbase://<sourceDatabaseName>' USING org.apache.pig.backend.hadoop.hbase.HBaseStorage( '<family:qualifier>', '<family:qualifier2>','-loadKey true') AS (ID: bytearray  , Value1:chararray , Value2:chararray);

STORE x INTO '<destFileName>'
USING CSVExcelStorage(['<delimiter>' [,{'YES_MULTILINE' | 'NO_MULTILINE'} [,{'UNIX' | 'WINDOWS' | 'UNCHANGED'}]]]);

答案 1 :(得分:0)

如果我们需要对Java代码进行更多控制,希望以下链接会有所帮助。

https://gist.github.com/sakthiinfotec/102fca54c91b411f626a

这将在本地文件系统中将单个HBase表备份为CSV格式。我们需要从单个列族预先定义所需列的列表。此代码使用必要的jar来连接HBase表和OpenCSV jar以写入CSV记录。

这里的假设是所有列都只是字符串。