Apache spark Spark 2.3.0退出结构化流媒体流程的正确方法

Apache spark Spark 2.3.0退出结构化流媒体流程的正确方法,apache-spark,spark-structured-streaming,Apache Spark,Spark Structured Streaming,我正在学习结构化流媒体,这本书是《星火权威指南》。第一个示例读取JSON文件流,然后使用以下代码片段检查内存表5次后退出: val streaming=spark.readStream.schema(dataSchema)。 选项(“maxFilesPerTrigger”,1).json(/data/activity data/”) val activityCounts=streaming.groupBy(“gt”).count() val activityQuery=activityCount

我正在学习结构化流媒体,这本书是《星火权威指南》。第一个示例读取JSON文件流,然后使用以下代码片段检查内存表5次后退出:

val streaming=spark.readStream.schema(dataSchema)。
选项(“maxFilesPerTrigger”,1).json(/data/activity data/”)
val activityCounts=streaming.groupBy(“gt”).count()
val activityQuery=activityCounts.writeStream
.queryName(“活动计数”)
.option(“checkpointLocation”,“/runtime/checkpoint/spark\u sstreaming/app01”)
.格式(“内存”).输出模式(“完成”)
.start()
// ...

对于(i如何将此配置设置为true?至少在2.3.0中默认为false

spark.streaming.stopGracefullyOnShutdown
您可以通过SparkSession设置配置:

val spark = SparkSession
  .builder
  .config("spark.streaming.stopGracefullyOnShutdown", true)
  .getOrCreate
27546 [task-result-getter-1] WARN org.apache.spark.scheduler.TaskSetManager  - Lost task 62.0 in stage 9.0 (TID 776, data01, executor 3): TaskKilled (Stage cancelled)
spark.streaming.stopGracefullyOnShutdown
val spark = SparkSession
  .builder
  .config("spark.streaming.stopGracefullyOnShutdown", true)
  .getOrCreate