1 回答

TA貢獻2011條經驗 獲得超2個贊
根據您希望如何聚合分組數據 - 您可以執行例如
先決條件(如果您尚未設置它們):
from pyspark.sql import functions as F
from pyspark.sql.functions import *
為:sum
difference = streamingDataF.withColumn("Difference", expr("Column_A - Column_B")).drop("Column_A").drop("Column_B").groupBy("Column_C").agg(F.sum(F.col("Difference")).alias("Difference"))
為:max
difference = streamingDataF.withColumn("Difference", expr("Column_A - Column_B")).drop("Column_A").drop("Column_B").groupBy("Column_C").agg(F.max(F.col("Difference")).alias("Difference"))
然后:
differenceStream = difference.writeStream\
.queryName("diff_aggr")\
.format("memory").outputMode("append")\
.start()
關鍵是 - 如果你這樣做,你也需要通過聚合來減少。如果你想把你的值排序在一起,試試groupBydf.sort(...)
添加回答
舉報