【问题标题】:Reduce Partitions by COALESCE in Spark SQL在 Spark SQL 中通过 COALESCE 减少分区
【发布时间】:2021-03-30 18:00:45
【问题描述】:

我运行 Spark SQL 查询并使用它们执行数据转换,然后将最终结果集(经过一系列转换步骤后)存储到 S3

我最近注意到我的一项工作是在写入 S3 时创建大量分区文件,并且需要很长时间才能完成(实际上它失败了)。所以我想知道在写入S3之前是否有任何方法可以在SQL API中执行COALESCE之类的函数来减少分区数量?

我知道重新分区的 SQL API 等效项是Cluster By。所以想知道在 SQL API 中是否也有类似的COALESCE 操作。

请注意,我只能访问 SQL API,所以我的问题仅与 Spark SQL API 有关。 (例如SELECT col from TABLE1 WHERE ...)

我们使用 Spark SQL 2.4.6.7

谢谢

【问题讨论】:

    标签: apache-spark apache-spark-sql


    【解决方案1】:

    docs 建议使用提示来合并分区,例如

    SELECT /*+ COALESCE(3) */ col from TABLE1
    

    【讨论】:

    猜你喜欢
    • 2020-01-27
    • 1970-01-01
    • 1970-01-01
    • 2021-08-16
    • 2016-03-15
    • 2021-08-24
    • 2016-02-12
    • 2015-12-28
    • 1970-01-01
    相关资源
    最近更新 更多