2015-10-17 120 views
1

HBase的看跌期权不被执行懒洋洋地执行 - 它会尝试进行全放一起DB写入与星火流,同时还星火流运行,只有当我关闭星火

val inputRdd = FlumeUtils.createStream(ssc, "server", 44444) 
    inputRdd.foreachRDD({ rdd => 
    rdd.foreachPartition(partitionOfRecords => { 
     val hbaseClient = new HBaseClient(zookeeper) 
     partitionOfRecords.foreach({ event => 
     hbaseClient.put(parse(event)) 
     hbaseClient.flush() 
+0

你尝试创建HBaseClient内forechPartition –

+0

这是什么样子@ axlpado-AgileLab – eliasah

+0

@ axlpado-AgileLab我已经更新代码? - 它已经在 – avloss

回答

2

行 - 我发现我的答案 - 显然我的代码是正确的,问题是如果你使用的是基于接收器的输入DSTREAM(如插座我没有留下足够的线程从 http://spark.apache.org/docs/latest/streaming-programming-guide.html 处理数据

“”” ,Kafka,Flume等),那么单线程将被用于运行接收器,不留任何线程来处理接收到的数据。因此,在本地运行时,请始终使用“local [n]”作为主URL,其中n>要运行的接收器的数量(有关如何设置主站的信息,请参阅Spark Properties)。 “””

使用本地[*]解决了该问题

+0

所以是的,这是RTFM的情况 – avloss