如何打印流数据帧的数据源选项例如起始偏移量?

问题描述

我通过一个变量传递了起始偏移量。怀疑他们可能没有正确的价值观。我如何打印回来以验证 spark 结构化流选项?

val df = sparkSession
  .readStream
  .format("kafka")
  .option("kafka.bootstrap.servers","host1:port1,host2:port2")
  .option("subscribe","topic1")
  .option("startingOffsets","{"topic1":{"1":100,"0":120}}")
)
 .load()

解决方法

您可以打印出流式数据帧的扩展计划:df.explain(true)

这将打印出您的选项,如下所示:

[...]StreamingRelation DataSource(org.apache.spark.sql.SparkSession@149aa7b2,kafka,List(),None,Map(startingOffsets -> {"test":{"0":120}},failOnDataLoss -> false,subscribe -> test,kafka.bootstrap.servers -> localhost:9092),None),[...]

(不要混淆,我使用了我的个人选项,这意味着它们偏离了您的设置。)