【问题标题】:Spark Repartition and Coalesce火花重新分区和合并
【发布时间】:2021-09-30 13:14:49
【问题描述】:

如果我想重新分区数据框,如何确定需要制作的分区数?如何决定是使用重新分区还是合并? 据我了解,合并基本上仅用于减少分区数量。但是我们如何决定在什么场景中使用哪个呢?

【问题讨论】:

标签: apache-spark apache-spark-sql


【解决方案1】:

我们无法根据具体参数来决定,会有多个因素来决定有多少分区和重新分区或合并 *基于数据的大小, 如果文件的大小太大,您可以为每个块分配 2 或 3 个分区 提高性能,但如果给更多的分区它分裂为 小文件。在大数据中,小文件会降低性能。 1 个块 (128 MB) --> 128/2 = 64MB 每个分区,因此 1 个映射器将运行 64 MB *基于集群大小,如果你有更多数量的执行器/核心是免费的,你可以根据它给出。 *repartition 将导致完全 shuffle,而 coalesce 将避免完全 shuffle。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-06
    • 2016-04-23
    • 2021-08-09
    • 1970-01-01
    • 2022-12-17
    • 1970-01-01
    • 1970-01-01
    • 2015-12-24
    相关资源
    最近更新 更多