Apache spark 如何使用列的平均值将列添加到数据帧
有更好的办法吗Apache spark 如何使用列的平均值将列添加到数据帧,apache-spark,dataframe,apache-spark-sql,Apache Spark,Dataframe,Apache Spark Sql,有更好的办法吗 val mean=df.select(平均(“日期”)).first().getDouble(0) df.带列(“平均值”,点亮(平均值)) 我认为避免调用某个操作是值得的…使用带叉积的广播可以避免额外的操作: import org.apache.spark.sql.functions.broadcast df.crossJoin(广播(df.agg(平均(“日期”))) 或: spark.conf.set(“spark.sql.crossJoin.enabled”,true
val mean=df.select(平均(“日期”)).first().getDouble(0)
df.带列(“平均值”,点亮(平均值))
我认为避免调用某个操作是值得的…使用带叉积的
广播可以避免额外的操作:
import org.apache.spark.sql.functions.broadcast
df.crossJoin(广播(df.agg(平均(“日期”)))
或:
spark.conf.set(“spark.sql.crossJoin.enabled”,true)
加入(广播(平均日期)
你不应该做的是使用窗口功能:
df.withColumn("avg", avg("date").over())