我有一个由tempDataFrame2
组成的结构化流数据帧Field1
。我正在尝试计算Field1
的近似值。但是,每当我输入
val Array(Q1, Q3) = tempDataFrame2.stat.approxQuantile("Field1", Array(0.25, 0.75), 0.0)
我收到以下错误消息:
Queries with streaming sources must be executed with writeStream.start()
以下是代码段:
val tempDataFrame2 = A structured streaming dataframe
// Calculate IQR
val Array(Q1, Q3) = tempDataFrame2.stat.approxQuantile("Field1", Array(0.25, 0.75), 0.0)
// Filter messages
val tempDataFrame3 = tempDataFrame2.filter("Some working filter")
val query = tempDataFrame2.writeStream.outputMode("append").queryName("table").format("console").start()
query.awaitTermination()
我已经完成了SO的这两个链接:Link1 Link2。不幸的是,我无法将这些回复与我的问题联系起来。
阅读完评论后,以下是我计划继续进行的方式:
1)从Kafka主题中读取所有未提交的偏移量。 2)将它们保存到数据帧变量。 3)停止结构化流媒体,以便我不再阅读Kafka主题。 4)开始处理步骤2中保存的数据帧。
但是,现在我不确定如何继续 -
1)如何知道我在Kafka主题中没有任何其他记录要使用并停止流式查询?