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)
相关推荐
docsz5 分钟前
Ambari3.0集成Flink 2.2+Paimon1.4
大数据·flink
CryptoPP13 分钟前
快速集成:基于现代API的金融数据流解决方案
大数据·数据结构·笔记·金融·区块链
清平乐的技术专栏18 分钟前
【Flink学习】(七)Flink 状态编程入门,有状态实时计算
大数据·学习·flink
humors22122 分钟前
不借外力,内力自生:提升竞赛水平的四种内功心法
大数据·程序人生
染指111026 分钟前
8.向量数据库-RAG基础2
大数据·数据库·人工智能·rag
电商API_1800790524728 分钟前
京东商品主图 & 详情图 API 接口实战开发|电商图片数据合规获取方案
java·大数据·人工智能·数据挖掘·网络爬虫
市值水晶32 分钟前
海澜之家一季报:主品牌稳了,变量来了
大数据·人工智能
或与且与或非34 分钟前
rabbitmq选举集群搭建
分布式·rabbitmq·ruby
TechWayfarer41 分钟前
街道级IP定位的技术边界:IP精准定位服务在本地生活场景的落地实践
大数据·网络·python·tcp/ip·生活
无心水1 小时前
【分布式利器:金融级】金融级分布式架构开源框架全景解读
人工智能·分布式·金融·架构·开源·wpf·金融级框架