gpt4 book ai didi

scala - : 'writeStream' can be called only on streaming Dataset/DataFrame异常

转载 作者:行者123 更新时间:2023-12-03 14:49:31 30 4
gpt4 key购买 nike

尝试为Spark数据流的writeStream函数创建测试,如下所示:

SparkSession spark = SparkSession.builder().master("local").appName("spark 
session").getOrCreate()

val lakeDF = spark.createDF(List(("hi")), List(("word", StringType, true)))

lakeDF.writeStream
.trigger(Trigger.Once)
.format("parquet")
.option("checkpointLocation", checkpointPath)
.start(dataPath)

但是我收到以下异常:
org.apache.spark.sql.AnalysisException:只能在流式数据集/数据帧上调用“writeStream”;

我是流媒体的新手,请让我知道如何创建流数据帧/将上述常规数据帧转换为测试套件的流数据帧。

最佳答案

在Spark结构化流中,使用SparkSession上的 readStream 在流中创建数据帧/数据集。如果未使用流创建数据帧/数据集,则不允许使用 writeStream 进行存储。

因此,请使用 readStream 创建数据帧/数据集,并使用 writeStream 存储数据帧/数据集

 val kafkaStream = sparkSession.readStream.format("kafka")
.option("kafka.bootstrap.servers", "kafka-broker-hostname:port")
.option("subscribe", "topicname")
.load()

关于scala - : 'writeStream' can be called only on streaming Dataset/DataFrame异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51408021/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com