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)
相关推荐
聚城云-GeecityCloud5 分钟前
数字化破局|不分物业规模,皆可全新升级
大数据·人工智能
保卫大狮兄14 分钟前
什么是物料编码?使用ERP之前做物料编码时需要注意什么?
大数据
captain_AIouo41 分钟前
深耕海外市场,autoAGC攻破品牌跨境内容运营难题
大数据·人工智能·经验分享·产品运营·aigc·内容运营
志栋智能1 小时前
超自动化运维:如何降低人为错误?
大数据·运维·网络·人工智能·自动化
久菜盒子工作室1 小时前
生益科技 经营分析
大数据·人工智能·科技
isNotNullX1 小时前
维度建模有哪些类型?详解维度建模三大模型
大数据
互联网江湖1 小时前
中国跨境电商,正在走出漫长的雨季?
大数据·人工智能
幂律智能1 小时前
从工具到入口:以组织记忆闭环夯实智能价值
大数据·人工智能
暴躁小师兄数据学院1 小时前
【AI大数据工程师特训笔记】第08讲:集合运算与超级函数
大数据·笔记·sql·ai·postgresql
蓝速科技1 小时前
蓝速科技 3D 全息数字人舱实景效能与选型指南
大数据·人工智能·科技·3d·交互