此篇文章主要介绍用spark如何读取hbase中的数据。
spark官方提供了用spark直接读取hbase的方法,但是直接读取hbase的数据类似于hbase shell中的scan方法全表扫描,当然如果知道rowkey当然就不会有什么问题,但是在真实的业务场景中onebyone通过rowkey去取hbase的数据是不现实的,这样也没用必要用spark去跑数据,因为发挥不出spark的性能,当用spark批量取hbase中数据去处理时,spark提供的方法就会存在很多问题。可参照一下代码:
host = 'hadoop03'
table = 'test'
conf = {"hbase.zookeeper.quorum": host, "hbase.mapreduce.inputtable": table,"zookeeper.znode.parent":"/hbase-unsecure"}
keyConv = "org.apache.spark.examples.pythonconverters.ImmutableBytesWritableToStringConverter"
valueConv = "org.apache.spark.examples.pythonconverters.HBaseResultToStringConverter"
hbase_rdd = sc.newAPIHadoopRDD("org.apache.hadoop.hbase.mapreduce.TableI

这篇博客探讨了如何利用Spark通过Phoenix来读取HBase中的数据,而非直接使用Spark官方方法进行全表扫描。文章指出,对于批量处理,使用Phoenix的SQL API能更有效地查询HBase,并提供了相关的Python代码示例。
最低0.47元/天 解锁文章
1225

被折叠的 条评论
为什么被折叠?



