首页 > 解决方案 > 哪个编码更好以获得火花的最佳性能

问题描述

如果我需要对数据框进行转换(例如添加列),这是获得最佳性能的更好方法吗?

1.

a=[1,2,3]
df=spark.createDataframe(a)
df=df.withColumn("b",lit(1))

2.

a=[1,2,3]
df=spark.createDataframe(a)
df2=df.withColumn("b",lit(1))

考虑我要添加 200 列。

标签: pythonpyspark

解决方案


当您使用 withcolumn 在 spark df 中添加新列时,会在每个 withcolumn 语句的执行计划中添加一个新的窄任务。您可以尝试本博客中指定的方法。这正确地解释了场景。


推荐阅读