配置 | 值 | 说明 |
---|---|---|
spark.sql.parquet.adaptiveFileSplit | true | 不知道 |
spark.sql.adaptive.hashJoin.enabled | true | 标准的shuffle join 自动转成hashjoin比如broadcast join 或者mapjoin |
spark.executor.cores | 3 | 每个executor分配多少个cpu |
spark.datasource.splits.max | 忘了 | 不知道 |
spark.dynamicAllocation.maxExecutors | 5000 | 这事涉及到spark的动态资源分配 Dynamic Resource Allocation 这就是分配的做大executor数 |
spark.dynamicAllocation.minExecutors | 3 | 同上, 最小executor数 |
spark.executor.memory | 4096 | 每个executor 分配的内存, executor内存管理 |
spark.executor.memoryOverhead | 3072 | 堆外内存, spark on yarn内存分配 问题,推外内存干嘛用,以及几个内存配置如何相互影响 |
spark.memory.fraction | 0.7 | spark.memory.fraction 代表整体JVM堆内存中M的百分比(默认0.6)。剩余的空间(40%)是为用户数据结构、Spark内部metadata预留的,并在稀疏使用和异常大记录的情况下避免OOM错误。Spark调优(数据序列化和内存调优) |
spark.script.transformation.exit.timeout | -1 | 看着像是写脚本退出超时的时间 |
spark.shuffle.accurateBlockRecordThreshold | 500000 | 不知道 |
spark.shuffle.accurateBlockThreshold | 4000000 | 以字节为单位的阈值,高于该阈值可准确记录HighlyCompressedMapStatus中随机块的大小。这有助于通过避免在获取shuffle块时低估shuffle块大小来防止OOMspark-参数配置总结 |
spark.sql.adaptive.maxNumPostShufflePartitions | 1000 | executor自适应,上限不超过1000 |
spark.sql.adaptive.shuffle.targetPostShuffleInputSize | 52428800 | 如果两个reducer数据量之和小于这个数,合并reducer |
spark.sql.adaptive.shuffle.targetPostShuffleRowCount | 5000000 | 类似上面,行数限制 |
spark.sql.adaptive.skewedJoin.enabled | true | 数据倾斜 |
spark.sql.adaptive.skewedPartitionFactor | 3 | 倾斜因子,如果一个Partition的大小大于spark.sql.adaptive.skewedPartitionSizeThreshold的同时大于各Partition大小中位数与该因子的乘积,或者行数大于spark.sql.adaptive.skewedPartitionRowspark.sql.adaptive.skewedPartitionRowCountThreshold的同时大于各Partition行数中位数与该因子的乘积,则它会被视倾斜的Partition,Spark Adaptive Execution优化 |
spark.sql.adaptive.skewedPartitionMaxSplits | 6 | 控制处理一个倾斜Partition的Task个数上限 |
spark.sql.adaptive.skewedPartitionRowCountThreshold | 5000000; | |
spark.sql.adaptive.skewedPartitionSizeThreshold | 52428800; | |
spark.sql.adaptiveHashJoinThreshold | 52428800 | 某个表小于这个值启动hashjoin |
spark.sql.files.maxPartitionBytes | 268435456 | 读取文件时打包到单个分区的最大字节数。 |
spark.sql.inferAndPushdownPredicate.enabled | true | 谓词下推,就是外部的where放到子查询里面做Hive中的Predicate Pushdown Rules |
网友评论