我如何在多个 spark 结构化流数据帧上执行 "union"?
How can i do "union" on multiple spark structured streaming dataframes?
我想对连接到 kafka 主题的多个结构化流数据帧进行 union
操作,以便同时为它们添加水印。
例如:
df1=socket_streamer(spark,topic1)
df2=socket_streamer(spark,topic2)
其中 spark=sparksession and socket_streamer = spark.readstream
那我会做:
Dataframe=df1.union(df2)
Dataframe=Dataframe.withWatermark("timestamp","5 minutes")
然后我尝试写Stream Dataframe。
问题是:union
仅显示第一个 df
接收行。
你有什么想法,让联盟收到我的所有数据,或者我如何在多个数据帧上应用相同的水印?
加油!
df1和df2结构相同吗? spark 中的联合函数按位置(而不是按名称)解析列。
要按名称并集,请使用:
df1.unionByName(df2, allowMissingColumns=True)
(可从 Spark 3 获得。1.X)
我想对连接到 kafka 主题的多个结构化流数据帧进行 union
操作,以便同时为它们添加水印。
例如:
df1=socket_streamer(spark,topic1)
df2=socket_streamer(spark,topic2)
其中 spark=sparksession and socket_streamer = spark.readstream
那我会做:
Dataframe=df1.union(df2)
Dataframe=Dataframe.withWatermark("timestamp","5 minutes")
然后我尝试写Stream Dataframe。
问题是:union
仅显示第一个 df
接收行。
你有什么想法,让联盟收到我的所有数据,或者我如何在多个数据帧上应用相同的水印?
加油!
df1和df2结构相同吗? spark 中的联合函数按位置(而不是按名称)解析列。
要按名称并集,请使用:
df1.unionByName(df2, allowMissingColumns=True)
(可从 Spark 3 获得。1.X)