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

Posted

技术标签:

【中文标题】如何打印流数据帧的数据源选项(例如startingOffsets)?【英文标题】:How to print out DataSource options (e.g. startingOffsets) for a streaming Dataframe? 【发布时间】:2021-03-02 05:52:43 【问题描述】:

我通过一个变量传递了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()

【问题讨论】:

【参考方案1】:

您可以打印出流式数据框的扩展计划: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,[...]

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

【讨论】:

以上是关于如何打印流数据帧的数据源选项(例如startingOffsets)?的主要内容,如果未能解决你的问题,请参考以下文章

减去前一个数据帧的当前值

将带有 start - end 的行转换为带有 TimeIndex 的数据帧的性能问题

当用户从下拉菜单中选择选项时,如何从数据库中打印记录?动态程序

打印流-PrintStream和PrintWriter

JavaIO学习:打印流

Java IO流 - 打印流详细使用介绍