如前所述,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库提供了专门针对批量加载的性能改进?
2条答案
按热度按时间9lowa7mx1#
最近,hbase spark connector发布到了一个新的maven中央存储库,版本为1.0.0,支持spark版本2.4.0和scala 2.11.12
这支持rdd和Dataframe。有关更多详细信息,请参阅spark hbase连接器
学习愉快!!
rjee0c152#
您看过hbase项目上的批量加载示例了吗。
参见hbase批量示例,github页面有java示例,可以轻松编写scala代码。
同时阅读apachespark使用hbase spark模块访问apachehbase
如果选择rdd和dataframe,我们应该按照官方文档上的建议使用dataframe。
Dataframe是组织成命名列的数据集。它在概念上相当于关系数据库中的一个表或r/python中的一个Dataframe,但在幕后进行了更丰富的优化。
希望这有帮助。
干杯!