【发布时间】:2019-09-14 08:42:50
【问题描述】:
我正在关注 Apache Spark Definitive Guide 中的代码。当我有注释的代码行“awaitTermination()”时,我遇到了以下代码无法在 Jupyter Notebook 中打印结果的问题。 由于代码中包含“awaitTermination()”,Jupyter 内核处于忙碌状态,并且可能会无限期地保持忙碌状态。
没有“awaitTermination”,代码可以正常工作。
谁能解释一下这种行为。我该如何克服呢?
static = spark.read.json(r"/resources/activity-data/")
dataSchema = static.schema
streaming = (spark
.readStream
.schema(dataSchema)
.option("maxFilesPerTrigger", 1)
.json(r"/resources/activity-data/")
)
activityCounts = streaming.groupBy("gt").count()
spark.conf.set("spark.sql.shuffle.partitions", 5)
activityQuery = (activityCounts
.writeStream
.queryName("activity_counts")
.format("memory")
.outputMode("complete")
.start()
)
#activityQuery.awaitTermination()
#activityQuery.stop()
from time import sleep
for x in range(5):
spark.table("activity_counts").show()
sleep(1)
【问题讨论】:
标签: apache-spark pyspark spark-streaming