更新时间:2025-07-14 GMT+08:00
配置SparkSQL的分块个数
操作场景
SparkSQL在进行shuffle操作时默认的分块数为200。在数据量特别大的场景下,使用默认的分块数就会造成单个数据块过大。如果一个任务产生的单个shuffle数据块大于2G,该数据块在被fetch的时候还会报类似错误:
Adjusted frame length exceeds 2147483647: 2717729270 - discarded
例如,SparkSQL运行TPCDS 500G的测试时,使用默认配置出现错误。所以当数据量较大时需要适当地调整该参数。
配置参数
- 登录FusionInsight Manager系统。
详细操作请参考访问集群Manager。
- 在Manager系统中,选择“集群 > 服务 > Spark2x > 配置”,单击“全部配置”。在搜索框中输入参数名称。
表1 参数介绍 参数
描述
取值示例
spark.sql.shuffle.partitions
SparkSQL在进行shuffle操作时默认的分块数。
200
父主题: Spark SQL性能调优