如何将 hbase 表转储到文本文件中?
我需要转储 HBase 中的一张表并需要采用文本文件/csv 格式?我在 HBase shell 中查找了 scan
、export
和 get
命令,但它不起作用。
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
有很多方法可以从 HBase 表中获取数据,例如运行导出映射/归约作业。您可以在http://blog.sematext 阅读有关此内容和其他内容的内容。 com/2011/03/11/hbase-backup-options/
如果您想控制写入哪些行/单元格,可以使用 pig 脚本 来实现
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
如果我们需要对 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.