python - 哪个编码更好以获得火花的最佳性能
问题描述
如果我需要对数据框进行转换(例如添加列),这是获得最佳性能的更好方法吗?
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 列。
解决方案
当您使用 withcolumn 在 spark df 中添加新列时,会在每个 withcolumn 语句的执行计划中添加一个新的窄任务。您可以尝试本博客中指定的方法。这正确地解释了场景。