Advertisement

SQL compilation process for Hive

阅读量:

目录

  • Hive SQL的编译流程
    • 命令执行示例

Hive SQL编译流程解析

Hive系统将SQL语句转换为对应的MapReduce任务,其整体的编译流程共划分为六个步骤:

  1. 利用Antlr工具定义SQL语言的语法规范,实现对SQL语句的词法与语法分析,并将其转化为抽象语法树AST Tree
  2. 对AST Tree进行遍历处理,提取出查询操作的基本构成要素QueryBlock
  3. 遍历QueryBlock结构,将其转化为可执行的操作树OperatorTree
  4. 在逻辑优化阶段,对OperatorTree进行相应的转换处理,合并其中冗余的ReduceSinkOperator节点,从而有效降低shuffle阶段的数据传输量
  5. 遍历OperatorTree结构,将其映射为具体的MapReduce任务形式
  6. 物理优化阶段对生成的MapReduce任务进行进一步调整和优化,最终输出完整的执行计划
在这里插入图片描述

1

命令执行实例分析

关于 order by操作
该操作仅在reduce阶段进行

全部评论 (0)

还没有任何评论哟~