如何打印出流数据帧的数据源选项(例如 startingOffsets)?

How to print out DataSource options (e.g. startingOffsets) for a streaming Dataframe?

我通过变量传递 startingOffsets 。怀疑他们可能没有正确的价值观。我如何打印回以验证 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,List(),None,Map(startingOffsets -> {"test":{"0":120}}, failOnDataLoss -> false, subscribe -> test, kafka.bootstrap.servers -> localhost:9092),None), kafka,[...]

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