如何将 hbase 表转储到文本文件中?

发布于 2024-12-08 23:41:57 字数 128 浏览 0 评论 0原文

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

I need to take a dump of one table in HBase and need it in a text file/csv format? I looked for scan, export and get commands in HBase shell, but it doesn't work.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

悟红尘 2024-12-15 23:41:57

有很多方法可以从 HBase 表中获取数据,例如运行导出映射/归约作业。您可以在http://blog.sematext 阅读有关此内容和其他内容的内容。 com/2011/03/11/hbase-backup-options/
如果您想控制写入哪些行/单元格,可以使用 pig 脚本 来实现

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

There are a lot of ways to get data out of an HBase table like running the export map/reduce job. You can read about this and other here http://blog.sematext.com/2011/03/11/hbase-backup-options/
If you want to control which rows/cells are written you can do that with 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'}]]]);
紫竹語嫣☆ 2024-12-15 23:41:57

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

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

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

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

If we need to have more control with Java code, hope below link will be helpful.

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

This will backup a single HBase table as CSV format in local filesystem. We need to pre-define the list of columns we needed from a single column family. This code uses necessary jars to connect HBase table along with OpenCSV jar to write CSV records.

Assumption here is all the columns are only string.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文