spark sql调优的所有参数
时间: 2023-11-09 11:21:24 浏览: 247
Spark SQL的调优参数可以分为以下几类:
1. Spark SQL的通用参数:
- `spark.sql.shuffle.partitions`:控制shuffle操作时的分区数,默认值为200。
- `spark.sql.autoBroadcastJoinThreshold`:控制自动广播的表大小,默认为10MB。
- `spark.sql.broadcastTimeout`:控制广播超时时间,默认值为5分钟。
- `spark.sql.execution.arrow.enabled`:控制是否启用Arrow优化,默认为false。
2. Spark SQL的查询优化参数:
- `spark.sql.cbo.enabled`:控制是否启用基于成本的优化器(CBO),默认为false。
- `spark.sql.statistics.histogram.enabled`:控制是否启用直方图统计信息,默认为false。
- `spark.sql.statistics.ndv.scale.factor`:控制基数估计的规模因子,默认为2.0。
- `spark.sql.inMemoryColumnarStorage.compressed`:控制是否启用列式存储压缩,默认为true。
- `spark.sql.adaptive.enabled`:控制是否启用自适应查询执行,默认为false。
3. Spark SQL的内存管理参数:
- `spark.sql.shuffle.memoryFraction`:控制shuffle操作的内存占比,默认为0.2。
- `spark.sql.execution.arrow.maxRecordsPerBatch`:控制Arrow批处理的最大行数,默认为1024。
- `spark.sql.execution.sort.externalSorter.maxMemoryUsage`:控制外部排序的内存占比,默认为0.4。
- `spark.sql.execution.arrow.fallback.enabled`:控制是否开启Arrow优化失败时的回退机制,默认为true。
4. Spark SQL的调试参数:
- `spark.sql.debug.maxToStringFields`:控制最大的toString字段数目,默认为25。
- `spark.sql.debug.maxPlanStringLength`:控制最大的计划字符串长度,默认为1000。
以上仅列举了一部分常用的Spark SQL调优参数,具体使用时需要根据实际情况进行选择和调整。
阅读全文