【问题标题】:How can I dump hbase table in a text file?如何将 hbase 表转储到文本文件中?
【发布时间】:2011-10-11 10:51:52
【问题描述】:

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

【问题讨论】:

标签: hbase


【解决方案1】:

有很多方法可以从 HBase 表中获取数据,例如运行 export map/reduce 作业。您可以在此处阅读有关此内容和其他内容的信息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'}]]]);

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2018-05-25
      • 2013-02-08
      • 1970-01-01
      • 1970-01-01
      • 2012-01-30
      • 1970-01-01
      • 2011-02-12
      • 1970-01-01
      • 2010-10-10
      相关资源
      最近更新 更多