如何在多个 Spark 结构化流数据帧上执行"union"?



我想对连接到kafka主题的多个结构化流媒体数据帧进行union操作,以便在同一时刻对它们进行水印处理。

例如:

df1=socket_streamer(spark,topic1)
df2=socket_streamer(spark,topic2)

其中spark=火花塞socket_streamer=火花读取流

然后我做:

Dataframe=df1.union(df2)
Dataframe=Dataframe.withWatermark("timestamp","5 minutes")

然后我尝试写入流数据帧。

问题是:union只显示第一个接收行的df

你知道吗,让工会收到我的所有数据,或者我如何在多个数据帧上应用相同的水印?

坦克你!

df1和df2有相同的结构吗?spark中的并集函数按位置(而不是按名称(解析列。

要按名称联合,请使用:

df1.unionByName(df2, allowMissingColumns=True)

(可从Spark 3.1.X获得(

相关内容

  • 没有找到相关文章

最新更新