邓立辉 发表于 2015-11-25 15:33:48

spark频繁访问hbase问题。

与遇到一个问题,在一个rdd的flapmap转化里要查询hbase。每个元素转化时都要创建habse链接再查询,感觉这样性能肯定会低。有什么方法只创建一次链接,或者创建一定数量做个类似池的东西。

bioger_hit 发表于 2015-11-25 17:33:59

在创建个rdd把相关数据都弄出来。

a1212516 发表于 2015-11-25 17:48:53

本帖最后由 a1212516 于 2015-11-25 17:56 编辑

用mappartition在每一个partition分区里面只创建一个hbase链接,然后使用foreachXXX的进行操作,   
类似下面代码:
      rdd =>
rdd.foreachPartition { partitionOfRecords =>    val connection = createNewConnection()    partitionOfRecords.foreach(record => connection.send(record))    connection.close()}

只是一个思路,仅供参考

邓立辉 发表于 2015-11-25 21:09:02

本帖最后由 邓立辉 于 2015-11-25 21:10 编辑

a1212516 发表于 2015-11-25 17:48
用mappartition在每一个partition分区里面只创建一个hbase链接,然后使用foreachXXX的进行操作,   
类似 ...
谢谢,我先试试。

邓立辉 发表于 2015-11-25 21:55:11

bioger_hit 发表于 2015-11-25 17:33
在创建个rdd把相关数据都弄出来。

我用的spark streaming。新的rdd怎么创建?我只知道这样把参数传进来 JavaReceiverInputDStream<String> lines = ssc.socketTextStream(args, Integer.parseInt(args), StorageLevels.MEMORY_ONLY);
页: [1]
查看完整版本: spark频繁访问hbase问题。