gpt4 book ai didi

apache-spark - 在 Spark 中读取 HDFS 时的任务数

转载 作者:行者123 更新时间:2023-12-04 14:04:17 28 4
gpt4 key购买 nike

enter image description here ORC 格式的非格式化表中有 200 个文件。每个文件大约170KB。总大小大约33MB。
想知道为什么 spark stage 读取表格会生成 7 个任务。该作业被分配了一个具有 5 个内核的执行器。

最佳答案

Spark 将文件映射到分区的方式非常复杂,但有 2 个主要配置选项会影响创建的分区数量:
spark.sql.files.maxPartitionBytes 默认情况下为 128 MB,并设置可拆分源的最大分区大小。因此,如果您有一个 2 GB 的 ORC 文件,则最终将有 16 个分区。
spark.sql.files.openCostInBytes 默认为 4 MB,用作创建新分区的成本,这基本上意味着如果文件小于 4MB,Spark 会将文件连接到相同的分区中。
如果你有很多小的可拆分文件,默认情况下你会得到大约 4MB 大小的分区,这就是你的情况。
如果您有不可拆分的源,例如 gzipped 文件,它们将始终位于单个分区中,无论它们的大小如何。

关于apache-spark - 在 Spark 中读取 HDFS 时的任务数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69034543/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com