尝试对精心设计的流进行一些操作,为此需要使用.rdd函数,但会得到"""AnalysisException: Queries with streaming sources must be executed with writeStream.start();;"""
吗?
val d = df.select(from_json(col("value").cast("string"), schema).cast("string").alias("url")).as[String]
.rdd.toDF()
.writeStream
.format("console") // <-- use ConsoleSink
.option("truncate", false)
.option("numRows", 10)
.trigger(Trigger.ProcessingTime(5 seconds))
.queryName("rate-console")
.start
.awaitTermination()
答案 0 :(得分:2)
TL; DR 并且它没有起作用。不支持将结构化流转换为RDD或DStream。
结构化流和RDD是两个不同的,并且最终是不兼容的抽象。尽管有一些关于可以进行任意转换的选项的悬而未决的讨论,但目前还没有这样的事情。