首页 > 数据库 >Catalyst优化器:让你的Spark SQL查询提速10倍

Catalyst优化器:让你的Spark SQL查询提速10倍

时间:2024-07-28 13:25:29浏览次数:9  
标签:10 逻辑 Catalyst SQL 2.2 2.1 优化 Plan

目录

1 逻辑优化阶段

2.1 逻辑计划解析

2.2 逻辑计划优化

2.2.1 Catalys的优化过程

2.2.2 Cache Manager优化

2 物理优化阶段

2.1 优化 Spark Plan

2.1.1 Catalyst 的 Join 策略

2.1.2 如何决定选择哪一种 Join 策略

2.2 Physical Plan

2.2.1 EnsureRequirements 规则


Spark SQL 端到端的完整优化流程主要包括两个阶段:Catalyst 优化器和 Tungsten。其中,Catalyst 优化器又包含逻辑优化和物理优化两个阶段。为了把开发者的查询优化到极致,整个优化过程的运作机制设计得都很精密,

Spark SQL的优化过程

1 逻辑优化阶段

Catalyst 逻辑优化阶段分为两个环节:逻辑计划解析和逻辑计划优化。在逻辑计划解析中, Catalyst 把“Unresolved Logical Plan”转换为“Analyzed Logical Plan”;在逻辑计划优化中,Catalyst 基于一些既定的启发式规则(Heuristics Based Rules),把“Analyzed Logica

标签:10,逻辑,Catalyst,SQL,2.2,2.1,优化,Plan
From: https://blog.csdn.net/JiShuiSanQianLi/article/details/140748120

相关文章

  • 在SQL编程中DROP、DELETE和TRUNCATE的区别
    在SQL编程中,DROP、DELETE和TRUNCATE都是用于删除数据的命令,但它们之间有着显著的区别,主要体现在它们删除数据的范围、操作的不可逆性、对表结构的影响、性能以及事务日志的影响上。DROP:作用:DROP命令用于删除整个表及其所有的数据、索引、触发器、约束等。简而言之,它会从......
  • Mysql安装教程【实测有效】
     一、查找并卸载原有的mysql数据库1.使用rpm-qa|grepmysql命令查找mysql数据库软件包及依赖包;若没有任何显示则证明没有相关的mysql数据库;若显示了相关的软件包及依赖包,使用 yumremovexxx命令依次删除显示的包;注意:xxx为显示的软件包及依赖包包名;2.使用 find/......
  • CF1060F Shrinking Tree
    考虑分别以每个点为根计算概率,可以计算所有边固定了收缩顺序的概率之和后除以\((n-1)!\)即为答案设\(f_{x,i}\)表示在\(x\)的子树内,删除最后\(i\)条边前后根的编号不发生变化的概率和,所求即为\(f_{rt,n-1}\)记当前点为\(v\),父节点为\(u\),因为收缩\((u,v)\)时,之前的......
  • GYM105139C Lili Likes Polygons
    记矩形的并为\(P\),定义多边形的大小为它的顶点个数\(|P|\),其\(90\)°的顶角为凸角,\(270\)°的顶角为凹角并记凹点构成的集合为\(C\),称竖直或水平在多边形内部分割开矩形的线为割线,连接了两个凹点的割线为好割线贪心可以发现对于\(P\)的任意极小矩阵划分,所有的割线至少有一......
  • ORACLE PL/SQL 对象、表数据对比功能存储过程简单实现
    最近帮忙跟进个oracle11gupgrade升级到19c的项目,由于业主方不太熟悉oracleupgrade相关升级流程,以及升级影响范围相关的事项,担心应用停机升级以后会导致数据库保存的业务数据不一致。......
  • mysql 关于幻读
    前言什么是幻读?幻读这个概念产生是因为事物隔离级别可重复读需要解决的一个问题。可重复读,顾名思义,就是一个事物中多次读取的结果是一致的。那其中就包含两个需要解决的问题:虚读:对同一行数据,每次读取的不一致。具体表现为T1读取某一数据后,当T2进行了修改,然后T1再次读该数......
  • Jforum项目踩坑,安装过程SQL异常
    背景:已安装jdk,mysql,tomcat,并将jforum(2.1.9)放到tomcat,输入http://localhost:8081/jforum/install.jsp,进行安装,但是安装失败了.遇到了问题基本和数据库有关系:1. java.sql.SQLExceptionMESSAGE:Unknowncharactersetindexforfield'255'receivedfromserver. 》......
  • SQL多表查询-JOIN的用法
    假设有两张表:学生表students和课程表courses,现在要查询学生名和课程名。--students表+----+---------+-----------+|id|name|course_id|+----+---------+-----------+|1|Alice|1||2|Bob|2||3|Charlie|NULL|+......
  • Windows版MySQL8.4.2LTS解压直用(下载免安装-绿色-项目打包直接使用-含卸载)
    文章目录下载地址选择GPL选择server选择8.5.2LTS长期服务版配置解压配置环境变量初始化新建my.ini配置root密码安装mysql启动mysql服务使用mysql登陆mysql修改mysql密码设置客户端可连接远程MySQL服务器修改host为值为”%“执行语句:updateusersethost='%'where......
  • 【SQL 新手教程 3/20】关系模型 -- 外键
    ......