【问题标题】:How to stop a StreamingContext in Apache Spark on Zeppelin如何在 Zeppelin 上的 Apache Spark 中停止 StreamingContext
【发布时间】:2015-11-30 20:16:22
【问题描述】:
import org.apache.spark.streaming.{Seconds, StreamingContext}
import org.apache.spark.streaming.eventhubs.EventHubsUtils
import sqlContext.implicits._

val ehParams = Map[String, String](
    "eventhubs.policyname" -> "Full",
...
)

val ssc = new StreamingContext(sc, Seconds(2))
val stream = EventHubsUtils.createUnionStream(ssc, ehParams)
val cr = stream.window(Seconds(6))

case class Message(msg: String)
stream.map(msg=>Message(new String(msg))).foreachRDD(rdd=>rdd.toDF().registerTempTable("temp"))

stream.print
ssc.start

上面的这个启动并运行良好,但我似乎无法阻止它。任何对 %sql show tables 的调用都会冻结。

如何停止上面的 StreamingContext ?

【问题讨论】:

  • 不确定为什么以下 2 个答案被否决...但是您可以使用 ssc.stop(true) 和/或 ssc.stop(true, true) 或任何您的选择来停止流式传输上下文或者是

标签: apache-spark apache-zeppelin


【解决方案1】:

ssc.stop 也会杀死 Spark 上下文,需要重新启动解释器。

请改用ssc.stop(stopSparkContext=false, stopGracefully=true)

【讨论】:

    【解决方案2】:

    ssc.stop 在新段落中应该停止它

    还有一个关于如何改进与流媒体平台集成的discussion in the dev@ mailing list

    【讨论】:

      猜你喜欢
      • 2017-04-17
      • 2017-03-11
      • 2019-12-29
      • 2015-07-18
      • 2016-05-01
      • 2017-04-16
      • 2017-11-04
      • 2018-08-11
      • 1970-01-01
      相关资源
      最近更新 更多