一个具有大量 shuffle 操作的 Dataproc Spark 作业读取大小约为 200–400 MB 的 Parquet 文件,并在只有两个非抢占式节点的抢占式工作器上运行。为了经济高效地提高性能,您应该进行哪些更改?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 从 HDD 切换到 SSD,覆盖抢占式 VM 配置以增加启动磁盘大小。.
为什么这是答案
正确答案是“从 HDD 切换到 SSD,覆盖抢占式 VM 配置以增加启动磁盘大小”。Spark 作业中大量的 shuffle 操作会产生大量的中间数据,这些数据通常存储在工作节点的本地磁盘上。如果磁盘是 HDD 且空间不足,性能会受到严重影响,因为 HDD 的 I/O 性能远低于 SSD,且磁盘空间不足会导致数据溢写(spill to disk)和频繁的磁盘读写。切换到 SSD 可以显著提高 I/O 性能,增加启动磁盘大小可以为 shuffle 数据提供更多存储空间,从而减少溢写和提高作业效率,同时保持成本效益(由于抢占式实例)。 增加 Parquet 文件大小到 1GB 可能会减少文件数量,但对于 shuffle 密集型作业,主要瓶颈在于中间数据的读写,而不是初始文件大小。改用 TFRecords 格式并不能解决 shuffle 性能瓶颈,且 Parquet 通常是大数据场景下更优的存储格式。将数据从 GCS 复制到 HDFS 并在 HDFS 上运行作业会增加数据传输开销和复杂性,并且在抢占式实例上,HDFS 的持久性也存在风险。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡