从spark批量加载数据到hbase时,最好使用哪个hbase连接器?

r7knjye2  于 2021-06-08  发布在  Hbase
关注(0)|答案(2)|浏览(583)

如前所述,spark 2.0的哪个hbase连接器应该使用?主要有两种选择:
基于rddhttps://github.com/apache/hbase/tree/master/hbase-spark
基于Dataframehttps://github.com/hortonworks-spark/shc
我理解hbase的优化和不同之处。
但是我不清楚批量插入hbase应该使用哪一个。
我对逐个记录不感兴趣,而是对高吞吐量感兴趣。
在挖掘代码之后,似乎两者都采用了tableoutputformat,http://hbase.apache.org/1.2/book.html#arch.bulk.load
该项目使用scala 2.11、spark 2和hbase 1.2
dataframe库是否比rdd库提供了专门针对批量加载的性能改进?

9lowa7mx

9lowa7mx1#

最近,hbase spark connector发布到了一个新的maven中央存储库,版本为1.0.0,支持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连接器
学习愉快!!

rjee0c15

rjee0c152#

您看过hbase项目上的批量加载示例了吗。
参见hbase批量示例,github页面有java示例,可以轻松编写scala代码。
同时阅读apachespark使用hbase spark模块访问apachehbase
如果选择rdd和dataframe,我们应该按照官方文档上的建议使用dataframe。
Dataframe是组织成命名列的数据集。它在概念上相当于关系数据库中的一个表或r/python中的一个Dataframe,但在幕后进行了更丰富的优化。
希望这有帮助。
干杯!

相关问题