performance - 哪个操作更快:filter 或 withColumn with when?
问题描述
哪个性能更高?
filter
方法val df1 = df .filter('operation === true) .withColumn("operation2", lit(null))
withColumn
/when
接近val df2 = df.withColumn('operation2, when('operation === true, null))
解决方案
将输出中的行数放在一边(它们可能不同),我确信性能会相同(或非常可比)。原因是阶段和任务之间没有相互依赖关系,因此计算尽可能并行。它们都是仅地图计算。
为了更好地理解此查询和其他结构化查询,请使用explain
或仅使用 Web UI 来查看(和比较)物理计划。
推荐阅读
- visual-studio - MSBuild - 想要得到输出程序集
- apache-spark - 客户端无法通过以下方式进行身份验证:[TOKEN, KERBEROS)
- python - 根据另一列中的值重命名列
- ffmpeg - 将立体声文件转换为单声道但保留峰值和 RMS 响度
- python - Python 3 提取 html 数据
- plsql - 计算 is_rail、is_road 和 is_air 的运输次数
- rxjs - Angular 8补丁请求httpclient.subscribe()没有响应,错误或()
- c# - 中间有蓝色背景和白色图像的 UWP Tile
- c++ - 什么时候使用 C++ 的 C 子集会不好?
- java - 从文件中只读取一行整数