加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Adaptive Execution 让 Spark SQL 更智能更高效

发布时间:2018-10-25 04:38:00 所属栏目:教程 来源:郭俊 Jason Guo
导读:本文转发自技能天下,原文链接 http://www.jasongj.com/spark/adaptive_execution/ 1 配景 前面《Spark SQL / Catalyst 内部道理 与 RBO》与《Spark SQL 机能优化再进一步 CBO 基于价钱的优化》先容的优化,从查询自己与方针数据的特点的角度尽也许担保了

对付 Partition 0 的处理赏罚,有点相同于 BroadcastJoin 的做法。但区别在于,Stage 2 的 Task 0-0 与 Task 0-1 同时获取 Stage 1 中属于 Partition 0 的全量数据,是通过正常的 Shuffle Read 机制实现,而非 BroadcastJoin 中的变量广播实现

4.3 行使与优化要领

开启与调优该特征的要领如下

  • 将 spark.sql.adaptive.skewedJoin.enabled 配置为 true 即可自动处理赏罚 Join 时数据倾斜
  • spark.sql.adaptive.skewedPartitionMaxSplits 节制处理赏罚一个倾斜 Partition 的 Task 个数上限,默认值为 5
  • spark.sql.adaptive.skewedPartitionRowCountThreshold 配置了一个 Partition 被视为倾斜 Partition 的行数下限,也即行数低于该值的 Partition 不会被看成倾斜 Partition 处理赏罚。其默认值为 10L * 1000 * 1000 即一万万
  • spark.sql.adaptive.skewedPartitionSizeThreshold配置了一个 Partition 被视为倾斜 Partition 的巨细下限,也即巨微小于该值的 Partition 不会被视作倾斜 Partition。其默认值为 64 * 1024 * 1024 也即 64MB
  • spark.sql.adaptive.skewedPartitionFactor 该参数配置了倾斜因子。假如一个 Partition 的巨细大于 spark.sql.adaptive.skewedPartitionSizeThreshold的同时大于各 Partition 巨细中位数与该因子的乘积,可能行数大于 spark.sql.adaptive.skewedPartitionRowCountThreshold 的同时大于各 Partition 行数中位数与该因子的乘积,则它会被视为倾斜的 Partition

【编辑保举】

  1. 对Spark的那些【魔改】
  2. 高机能Spark功课基本:你必需知道的调优原则及提议
  3. Spark灰度宣布在十万级节点上的实践
  4. 大数据干货 | 论Spark好手是奈何炼成的
  5. 比拼生态和将来,Spark和Flink哪家强?
【责任编辑:未丽燕 TEL:(010)68476606】
点赞 0

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读