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)
相关推荐
喝养乐多长不高19 小时前
RabbitMQ:应用问题
分布式·rabbitmq
SelectDB19 小时前
深入理解 Doris Variant:如何让 JSON 查询性能追平列存,还能承载万列索引字段?|Deep Dive
大数据·数据库·数据分析
全知科技19 小时前
AI赋能数据分类分级,迈向智能化数据治理
大数据·人工智能
Macbethad20 小时前
使用WPF编写一个多维度伺服系统的程序
大数据·hadoop·wpf
青云交20 小时前
Java 大视界 -- Java 大数据机器学习模型在电商用户画像构建与精准营销中的应用
java·大数据·机器学习·电商·协同过滤·用户画像·精准营销
回家路上绕了弯20 小时前
接口 QPS 从 100 飙到 1000?从应急到根治的全流程优化方案
分布式·后端
象象翔20 小时前
服务异步通讯---rabbitmq的高级特性
分布式·rabbitmq
UMI赋能企业21 小时前
智能决策引擎助力科技企业转型升级
大数据·人工智能
bigdata-rookie1 天前
Flink Checkpoint 和 Spark Checkpoint 的区别
大数据·flink·spark