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)
相关推荐
boonya2 分钟前
大数据其他组件怎么跟flink进行交互与落地?
大数据·flink
武超杰3 分钟前
ElasticSearch 从入门到实战
大数据·elasticsearch·搜索引擎
元拓数智8 分钟前
AI Agent 时代,企业数据治理底座如何支撑智能应用的安全与效率
大数据·人工智能·安全·数据治理·nl2sql·自然语言查询
Haibakeji14 分钟前
AI如何串联官网小程序APP多端用户体验
大数据·apache
张祥前世界大同14 分钟前
基于矢量光速螺旋时空的真空介电常数与引力常数统一关系(最终定稿版)
大数据·sqlite
Cx330❀17 分钟前
从零实现一个 C++ 轻量级日志系统:原理与实践
大数据·linux·运维·服务器·开发语言·c++·搜索引擎
Mike117.18 分钟前
GBase 8a 慢任务处理时 KILL 和 PROCESSLIST 的使用边界
大数据·数据库
Simon_lca25 分钟前
2026 零售验厂生死线:Bon-Ton+Nordstrom+Williams Sonoma 三大巨头标准大 PK
大数据·人工智能·经验分享·数据分析·制造·零售
SEO_juper25 分钟前
外贸独立站流量翻倍后的转化优化
大数据·前端·seo·geo·外贸独立站·谷歌优化·2026
gQ85v10Db27 分钟前
Redis分布式锁进阶第三十二篇
数据库·redis·分布式