• Spark3.0中的AQE和DPP


    1.AQE(Adaptive Query Execution)

    • 自适应查询执行
    • 默认不开启,通过设置spark.sql.adaptive.enabled=true开启
    • 主要包括三方面:
      • Join策略调整:运行时动态的将原来的Shuffle Join调整为Broadcast Join,依赖Shuffle中间文件的统计信息
      • 分区自动合并:通过spark.sql.adaptive.advisoryPartitionSizeInBytes 来直接指定合并后的目标分区大小,spark.sql.adaptive.coalescePartitions.minPartitionNum用来限制Reduce阶段在合并后的并行度不能小于该值
      • 自动倾斜处理:两个参数判断倾斜分区,另一个参数用于拆分倾斜分区,将所有数据分区排序,取中位数作为基数,然后乘以比例系数,得到阈值,分区大于阈值的有可能判定为倾斜分区,同时还要大于最低阈值,才能被判定为倾斜分区

    2.DPP(Dynamic Partition Pruning)

    • 动态分区裁剪:基于运行时的信息进行分区裁剪,减少数据扫描量、降低I/O开销等
    • 需满足三个条件:
      • 必须是分区表
      • 只支持等值join
      • 小表过滤之后的数据必须小于广播阈值
  • 相关阅读:
    magento模板中XML与phtml关系 [四]
    magento 好好玩
    凹凸曼的修改zencart 程序(经典!)
    首页商品图片显示错位,easy-popular批量上传
    1.7-BGP①
    1.6-路由的控制③
    1.6-路由的控制②
    1.6-路由的控制①
    1.5
    1.4-动态路由协议OSPF⑧
  • 原文地址:https://www.cnblogs.com/jordan95225/p/15902850.html
Copyright © 2020-2023  润新知