当前位置:首页 > 行业资讯 > 西安互联网数据分析师分享Spark SQL架构工作原理及流程解析

西安互联网数据分析师分享Spark SQL架构工作原理及流程解析

3年前 (2021-10-30)行业资讯

spark SQL的工作原理

西安互联网数据分析师讲到,为了更好地支持SQL, spark需要完成三个过程:解析器、优化器和执行。催化剂优化器在进行计划生成和优化时,离不开其内部的五个组成部分。具体内容如下。

解析组件:该组件根据一定的语义规则。

西安互联网数据分析师

Analyze component:该组件将遍历整个ast,绑定ast上每个节点的数据类型和函数,然后根据元数据信息目录解析数据表中的字段。

优化器组件:此组件是催化剂的核心。主要分为RBO和CBO优化策略。RBO是基于规则的优化,CBO是基于成本的优化。

Sparkplanner组件:因为其不能被spark系统理解,所以需要将优化的逻辑计划转换为物理计划。

西安互联网数据分析师讲到,在了解了以上组件的功能后,将逐步讲解spark SQL工作流。

1. 在解析SQL语句之前,创建sparksession,并将与表名、字段名和字段类型相关的元数据保存在目录中;

2. 使用sparksqlparser解析SQL语句,使用解析过程中使用的ANTLR进行词法解析和语法解析;

3. 然后使用分析器绑定逻辑计划。在这个阶段,分析器将使用分析器规则和目录来解析未绑定的逻辑计划并生成绑定的逻辑计划;

4. 然后优化器根据预定义规则(RBO)对解析后的逻辑方案进行优化,生成优化后的逻辑方案;

5. 然后使用sparkplanner将优化后的逻辑计划转换为多个可执行的物理计划;

6. 然后,CBO优化策略根据成本模型计算每个物理计划的成本,并选择成本最低的物理计划作为最终的物理计划;

7. 最后,使用queryexecution来执行物理计划。


发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。