spark sql 内置配置(V2.2)

最近整理了一下spark SQL内置配。加粗配置项是对sparkSQL 调优性能影响比较大的项,小伙伴们按需酌情配置。后续会挑出一些通用调优配置,共大家参考。有不正确的地方,欢迎大家在留言区留言讨论。 

配置项 默认值 概述
spark.sql.optimizer.maxIterations 100 sql优化器最大迭代次数
spark.sql.optimizer.inSetConversionThreshold 10 插入转换的集合大小阈值
spark.sql.inMemoryColumnarStorage.compressed TRUE 当设置为true时,SCAPK SQL将根据数据的统计自动为每个列选择压缩编解码器
spark.sql.inMemoryColumnarStorage.batchSize 10000 控制用于列缓存的批处理的大小。较大的批处理大小可以提高内存利用率和压缩率,但缓存数据时会出现OOM风险
spark.sql.inMemoryColumnarStorage.partitionPruning  TRUE 启用内存中的列表分区剪枝
spark.sql.join.preferSortMergeJoin TRUE When true, 使用sort merge join 代替 shuffle hash join
spark.sql.sort.enableRadixSort TRUE 使用基数排序,基数排序性能非常快,但是会额外使用over heap.当排序比较小的Row时,overheap 需要提高50%
spark.sql.autoBroadcastJoinThreshold 10L * 1024 * 1024 当执行join时,被广播到worker节点上表最大字节。当被设置为-1,则禁用广播。当前仅仅支持 Hive Metastore tables,表大小的统计直接基于hive表的源文件大小
spark.sql.limit.scaleUpFactor 4 在执行查询时,两次尝试之间读取partation数目的增量。较高的值会导致读取过多分区,较少的值会导致执行时间过长,因为浙江运行更多的作业
spark.sql.statistics.fallBackToHdfs FALSE 当不能从table metadata中获取表的统计信息,返回到hdfs。这否有用取决与表是否足够小到能够使用auto broadcast joins
spark.sql.defaultSizeInBytes Long.MaxValue 在查询计划中表默认大小,默认被设置成Long.MaxValue 大于spark.sql.autoBroadcastJoinThreshold的值,也就意味着默认情况下不会广播一个表,除非他足够小
spark.sql.shuffle.partitions 200 当为join/aggregation  shuffle数据时,默认partition的数量
spark.sql.adaptive.shuffle.targetPostShuffleInputSize 64 * 1024 * 1024byte The target post-shuffle input size in bytes of a task.
spark.sql.adaptive.enabled FALSE 是否开启adaptive query execution(自适应查询执行)
spark.sql.adaptive.minNumPostShufflePartitions -1 测试用
spark.sql.subexpressionElimination.enabled TRUE When true, common subexpressions will be eliminated
当为真时,将删除公共子表达式
spark.sql.caseSensitive FALSE 查询分析器是否区分大小写,默认情况下不区分。强烈建议不区分大小写
spark.sql.constraintPropagation.enabled   是否开启优化,在查询优化器期间推断和传播查询计划中的数据约束。对于某种类型的查询计划(例如有大量谓语和别名的查询),约束传播是昂贵的,会对整个运行时间产生负面影响。
spark.sql.parser.escapedStringLiterals FALSE 2.0之前默认值为true,知否默认是否。正常文字能否包含在正则表达式中。
spark.sql.parquet.mergeSchema FALSE 若为true,在读取parquet数据源时,schema从所有文件中合并出来。否则如果没有可用的摘要文件,则从概要文件或随机文件中选择模式
spark.sql.parquet.respectSummaryFiles FALSE 若为ture,假设par
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值