代码之家  ›  专栏  ›  技术社区  ›  jk1

少大分区重分区的最佳策略

  •  0
  • jk1  · 技术社区  · 7 年前

    我必须按四键重新划分地理数据。基本上所有的数据都很平衡,但是很少有分区比其他分区大500倍。所以它会导致非常不平衡的分区阶段,比如3500个任务中有20-30个任务比其他任务慢98%。在这种情况下有什么好的策略吗?

    我接下来要做的是:

    stage.repartition(partitionColumns.map(new org.apache.spark.sql.Column(_)):_*)
      .write.partitionBy(partitionColumns:_*)
      .format("parquet")
      .option("compression", "gzip")
      .mode(SaveMode.Append)
      .save(destUrl)
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Joe K    7 年前

    这个 .repartition

    如果你把它放在一边 .write.partitionBy... ,仍然会得到相同的目录结构,每个目录中只有多个文件。

    推荐文章