Spark原理 | SparkSQL Catalyst解析

Catalyst Optimizer是SparkSQL的核心组件(查询优化器),它负责将SQL语句转换成物理执行计划,Catalyst的优劣决定了SQL执行的性能。

查询优化器是一个SQL引擎的核心,开源常用的有Apache Calcite(很多开源组件都通过引入Calcite来实现查询优化,如Hive/Phoenix/Drill等),另外一个是orca(HAWQ/GreenPlum中使用)。

关系代数是查询优化器的理论基础。常见的查询优化技术:查询重用(ReuseSubquery/ReuseExchange等)/RBO/CBO等。

SparkSQL执行流程
SparkSQL中对一条SQL语句的处理过程如上图所示:
image
1.SqlParser将SQL语句解析成一个逻辑执行计划(未解析)

猜你喜欢

转载自my.oschina.net/u/3611008/blog/2962255
今日推荐