Spark 之 partitons

Listing leaf files and directories

分析其并行化

org.apache.spark.util.HadoopFSUtils

复制代码
      sc.parallelize(paths, numParallelism)
        .mapPartitions { pathsEachPartition =>
          val hadoopConf = serializableConfiguration.value
          pathsEachPartition.map { path =>
            val leafFiles = listLeafFiles(
              path = path,
              hadoopConf = hadoopConf,
              filter = filter,
              contextOpt = None, // Can't execute parallel scans on workers
              ignoreMissingFiles = ignoreMissingFiles,
              ignoreLocality = ignoreLocality,
              isRootPath = isRootLevel,
              parallelismThreshold = Int.MaxValue,
              parallelismMax = 0)
            (path, leafFiles)
          }
        }.collect()

    // Set the number of parallelism to prevent following file listing from generating many tasks
    // in case of large #defaultParallelism.
    val numParallelism = Math.min(paths.size, parallelismMax)

parallelismMax 最终由以下配置决定。

复制代码
  val PARALLEL_PARTITION_DISCOVERY_PARALLELISM =
    buildConf("spark.sql.sources.parallelPartitionDiscovery.parallelism")
      .doc("The number of parallelism to list a collection of path recursively, Set the " +
        "number to prevent file listing from generating too many tasks.")
      .version("2.1.1")
      .internal()
      .intConf
      .createWithDefault(10000)
相关推荐
专注API从业者2 分钟前
电商选品效率翻倍!基于 Open Claw + 淘宝商品 API 实现自动化监控选品(附完整可运行代码)
大数据·运维·数据结构·数据库·自动化
知行产研40 分钟前
红二矿:深耕能源融合与智能重构 探索矿山低碳高效转型新路径
大数据·重构·能源
189228048612 小时前
NV086固态MT29F16T08EWLCHD8-TES:C
大数据·服务器·人工智能·科技·缓存
Morantkk3 小时前
26.6.7
大数据
weixin_397578025 小时前
智能工厂规划设计——总体视图、业务框架、应用架构、系统架构、技术架构
大数据
王牌狮AIen5 小时前
合规生命线——警惕“AI投毒”与算法陷阱,如何为品牌装上“事前免疫”系统?
大数据·人工智能·数据挖掘·geo·ai营销
大树885 小时前
PUE 超 1.35 要多交多少?存量机房液冷改造 3 张算账表
大数据·运维·服务器·人工智能
阿狸猿6 小时前
论大数据 Lambda 架构及其应用
大数据·架构
喵叔哟6 小时前
14【.NET10 实战--孢子记账--产品智能化】--智能生成预算
大数据·人工智能·.net
WyCAGy8ij7 小时前
Redis 分布式锁进阶第四篇讲解
数据库·redis·分布式