当前位置: 首页 > news >正文

spark-AQE/Tungsten介绍及其触发条件

目录

    • 1、简介
    • 2、AQE(自适应查询优化)触发条件及配置
    • 3、Tungsten(钨丝计划)触发条件及配置

1、简介

  1. AQE(Adaptive Query Execution)

    • 定义:Spark 3.0引入的自适应查询优化技术运行时动态调整执行计划
    • 核心能力
      • 动态分区合并:自动合并小分区以减少Shuffle数据量。
      • 自动Broadcast Join:根据数据量动态切换Join策略。
      • Skew Join优化:识别数据倾斜并自动调整分区策略。
    • 配置参数
      spark.sql.adaptive.enabled=true
      spark.sql.adaptive.skewJoin.enabled=true
      
  2. Tungsten(钨丝计划)

    • 定义:Spark 1.6推出的底层性能优化框架,通过内存管理和代码生成提升效率。
    • 关键技术
      • 内存列式存储:减少内存占用并提升缓存利用率。
      • 代码生成(Codegen):动态生成JVM字节码替代解释执行。
      • Sort-Based Shuffle优化:基于内存的排序减少磁盘I/O。
    • 触发条件:需满足特定配置(如spark.sql.shuffle.partitions设置合理)。

2、AQE(自适应查询优化)触发条件及配置

  • 生效条件

    • Spark 3.0+ 版本,且作业中至少存在一次 Shuffle 操作。
    • 需通过以下参数显式启用:
      set
http://www.xdnf.cn/news/709741.html

相关文章:

  • 接口自动化测试(六)
  • Kotlin委托机制使用方式和原理
  • ABP 框架集成 EasyAbp.Abp.GraphQL 构建高性能 GraphQL API
  • macOS 安装 Grafana + Prometheus + Node Exporter
  • React从基础入门到高级实战:React 生态与工具 - React 单元测试
  • 嵌入式软件--stm32 DAY 8.5 基础复习总结
  • Vue-列表过滤排序
  • 手机设备多?怎样设置IP保证不关联
  • [Redis] Redis:高性能内存数据库与分布式架构设计
  • 深入理解 Pinia:Vue 状态管理的革新与实践
  • 【MySQL】C语言连接
  • 十、【核心功能篇】项目与模块管理:前端页面开发与后端 API 联调实战
  • MySQL进阶篇(存储引擎、索引、视图、SQL性能优化、存储过程、触发器、锁)
  • 敏捷开发中如何避免迭代失控
  • 大数据学习(124)-spark数据倾斜
  • YOLOX 的动态标签分类(如 SimOTA)与 Anchor-free 机制解析2025.5.29
  • C++中IO文件输入输出知识详解和注意事项
  • Spring:从青铜到王者,你的Java修炼手册
  • MySQL入门笔记
  • AI新手入门解锁元生代MaaS平台:API工作流调用全攻略
  • 行业沙龙 | 博睿数据联合承办2025 湾区金科(FinTech)沙龙——智能运维专场,分享主题演讲
  • 基于Web的分布式图集管理系统架构设计与实践
  • grid网格布局
  • day40 python图像数据与显存
  • 嵌入式鸿蒙系统中水平和垂直以及图片调用方法
  • 纯数据挖掘也能发Microbiome?
  • pikachu靶场通关笔记07 XSS关卡03-存储型XSS
  • DeepSeek 赋能卫星遥感:AI 驱动数据分析新范式
  • ubuntu 22.04安装k8s高可用集群
  • 使用 Azure DevOps 管道部署到本地服务器