gpt4 book ai didi

apache-spark - spark是如何确定任务数的?

转载 作者:行者123 更新时间:2023-12-04 04:47:10 24 4
gpt4 key购买 nike

我对 Spark 在读取大量文本文件时创建的任务数量感到有些困惑。

这是代码:

val files = List["path/to/files/a/23", 
"path/to/files/b/",
"path/to/files/c/0"]
val ds = spark.sqlContext.read.textFile(files :_*)
ds.count()

每个文件夹 a, b, c包含 24 个文件,所以从完整的 b 起总共有 26 个文件文件夹被读取。现在如果我执行一个 Action ,比如 .count() ,Spark UI 显示有 24 个任务。但是,我会认为有 26 个任务,每个分区 1 个任务,每个文件 1 个分区。

如果有人能给我更多关于实际发生的事情的见解,那就太好了。

最佳答案

文本文件使用 Hadoop 格式加载。分区数取决于:

  • mapreduce.input.fileinputformat.split.minsize
  • mapreduce.input.fileinputformat.split.maxsize
  • minPartitions如果提供参数
  • 块大小
  • 压缩(如果存在)(可拆分/不可拆分)。

  • 您可以在此处找到示例计算: Behavior of the parameter "mapred.min.split.size" in HDFS

    关于apache-spark - spark是如何确定任务数的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40679619/

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