到rdd的结构化流式传输不起作用

时间:2018-11-16 15:56:34

标签: apache-spark spark-streaming

尝试对精心设计的流进行一些操作,为此需要使用.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()

1 个答案:

答案 0 :(得分:2)

TL; DR 并且它没有起作用。不支持将结构化流转换为RDD或DStream。

结构化流和RDD是两个不同的,并且最终是不兼容的抽象。尽管有一些关于可以进行任意转换的选项的悬而未决的讨论,但目前还没有这样的事情。