我在通过流式jar包运行的python中编写了MR作业。我想知道如何使用批量加载将数据放入HBase。如何将数据批量加载到python中的hbase
我知道有2种方式通过批量加载将数据导入hbase。
- 在MR作业中生成HFile,并使用CompleteBulkLoad将数据加载到hbase中。
- 使用ImportTsv选项,然后使用CompleteBulkLoad加载数据。
我不知道如何使用python生成HFile来适应Hbase。然后我尝试使用ImportTsv实用程序。但失败了。我跟着这个[示例](http://hbase.apache.org/book.html#importtsv)的说明。但我得到异常:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/filter/Filter...
现在我要问3个问题:
- 无论是Python的可用于通过流罐子产生HFILE或不。
- 如何使用importtsv。
- 可以使用bulkload来更新Hbase中的表。我每天收到一个大于10GB的大文件。可以使用bulkload将文件推送到Hbase。
Hadoop的版本是:Hadoop的2.8.0
HBase的版本是:HBase的1.2.6
在独立模式下运行的两种。
感谢您的任何答案。
--- 更新 ---
ImportTsv正常工作。
但我仍然想知道如何通过在Python语言中流式传输jar来在MR作业中生成HFile。
感谢您的回答。但幸福感似乎不适合我的问题。大文件的速度有点慢。 – litao3rd