【发布时间】:2021-01-12 06:58:32
【问题描述】:
我正在尝试计算某列的平均值并将其保存为新列,以下是我实现此目的的代码 sn-p:
df = df.withColumn("avg_colname", lit(df.select(avg("colname").as("temp")).first().getAs("temp")))
总共需要计算 8 列。在使用“spark-submit”命令的小型 3 节点集群上,代码执行所花费的时间比使用“spark-shell”命令的单台机器上要多得多(几分钟对几秒钟)。
为什么代码在集群上执行比在单机上慢,上面的sn-p代码如何改进?
【问题讨论】:
标签: scala apache-spark