【问题标题】:SparkStreaming keep processing even no data in kafkaSparkStreaming 继续处理,即使在 kafka 中没有数据
【发布时间】:2015-09-07 15:09:53
【问题描述】:

我正在使用 Spark Steaming 使用代码 sn-p 来使用来自 Kafka 的数据,例如: rdd.foreachRdd{rdd=>rdd.foreachPartition{...}}

我使用 foreachPartition 因为我需要创建与 Hbase 的连接,我不想按每条记录打开/关闭连接。 但是我发现当kafka没有数据的时候,spark streaming还在处理foreachRdd和foreachPartition。 这导致即使没有消耗任何数据,也会创建许多 Hbase 连接。我真的不喜欢这样,请问在没有从 Kafka 消耗数据的情况下,我应该如何让 Spark 停止这样做。

【问题讨论】:

    标签: apache-spark apache-kafka spark-streaming rdd


    【解决方案1】:

    只需检查 RDD 中是否有项目。所以你的代码可能是:

    rdd.foreachRdd{rdd=> if(rdd.isEmpty == false) rdd.foreachPartition{...}}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-29
      • 2014-01-14
      • 2019-08-29
      • 1970-01-01
      相关资源
      最近更新 更多