如前所述 Which HBase connector for Spark 2.0 should I use? 主要有两种选择:
我确实理解有关从HBase读取的优化和差异。
但是我不清楚我应该将 BATCH插入用于HBase。
我对逐个记录不感兴趣,但是通过高吞吐量。
在挖掘代码之后,似乎都采用了TableOutputFormat, http://hbase.apache.org/1.2/book.html#arch.bulk.load
该项目使用Scala 2.11,Spark 2,HBase 1.2
DataFrame库是否提供了针对BULK LOAD的RDD lib的任何性能改进?
答案 0 :(得分:2)
最近,hbase-spark连接器已发布到具有1.0.0版本的新maven中央存储库,并支持Spark版本2.4.0和Scala 2.11.12
<dependency>
<groupId>org.apache.hbase.connectors.spark</groupId>
<artifactId>hbase-spark</artifactId>
<version>1.0.0</version>
</dependency>
这同时支持RDD和DataFrame。请参阅spark-hbase-connectors了解更多详情
学习愉快!
答案 1 :(得分:1)
您是否看过Hbase项目的批量加载示例。
参见Hbase Bulk Examples,github页面有java示例,可以轻松编写scala代码。
另请阅读Apache Spark Comes to Apache HBase with HBase-Spark Module
如果选择RDD与DataFrame,我们应该根据官方文档的建议使用DataFrame。
DataFrame是一个组织成命名列的数据集。它是 概念上等同于关系数据库或数据中的表 R / Python中的框架,但在底层有更丰富的优化。
希望这有帮助。
干杯!