-
我们使用结构化流从 Kafka 进行消费,并将处理后的数据集写入 s3。
我们还想将处理后的数据写入 Kafka,是否可以通过同一个流查询来完成此操作? (火花版本2.1.1)
在日志中,我看到流式查询进度输出,并且我有来自日志的示例持续时间 JSON,有人可以更清楚地说明两者之间的区别吗?addBatch
and getBatch
?
-
TriggerExecution - 是处理获取的数据和写入接收器所花费的时间吗?
"durationMs" : {
"addBatch" : 2263426,
"getBatch" : 12,
"getOffset" : 273,
"queryPlanning" : 13,
"triggerExecution" : 2264288,
"walCommit" : 552
},
-
Yes.
在 Spark 2.1.1 中,您可以使用writeStream.foreach
将数据写入 Kafka。这个博客中有一个例子:https://databricks.com/blog/2017/04/04/real-time-end-to-end-integration-with-apache-kafka-in-apache-sparks-structed-streaming.html https://databricks.com/blog/2017/04/04/real-time-end-to-end-integration-with-apache-kafka-in-apache-sparks-structured-streaming.html
或者您可以使用Spark 2.2.0,它添加了Kafka接收器以支持正式写入Kafka。
getBatch
测量从源创建 DataFrame 所需的时间。这通常非常快。addBatch
测量 DataFrame 在接收器中运行的时间。
triggerExecution
测量触发器执行的运行时间,通常几乎与getOffset
+ getBatch
+ addBatch
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)