Hive的底层执行流程
Hive 的编译过程
Hive 的编译过程是将用户提交的 Hive SQL 语句,经过 Hive 中的编译器,转换为 MapReduce 程序。编译器的工作主要分为三个阶段:
1、语法解析:编译器首先接收用户提交的 Hive SQL 语句,然后使用 ANTLR 工具进行语法解析,构建语法树;
2、语义分析:编译器根据语法树进行语义分析,检查语句中的表、字段等是否有效,若有效,则进行下一步,否则报错;
3、优化:编译器根据语义分析的结果,对 Hive SQL 语句进行优化,比如拆分语句、推断字段类型、删除无效操作等;
Hive 的执行过程
Hive 的执行过程是将编译后的 MapReduce 程序提交到 Hadoop 集群,并在 Hadoop 集群上运行,完成查询任务。执行过程主要分为以下几个步骤:
1、查询解析:Hive 会把查询语句转换为抽象语法树,以便进行查询解析;
2、查询转换:把抽象语法树转换为 MapReduce 程序,并将 MapReduce 程序提交到 Hadoop 集群;
3、查询优化:在查询转换过程中,Hive 会对 MapReduce 程序进行优化,比如拆分 MapReduce 任务、推断字段类型等;
4、查询执行:Hive 会把 MapReduce 程序提交到 Hadoop 集群,并在 Hadoop 集群上运行,完成查询任务。
Hive 的结果返回
Hive 的结果返回是指 Hive 查询完成后,将结果返回给用户。结果返回的过程主要分为以下几个步骤:
1、结果收集:Hive 会将查询结果从 Hadoop 集群上收集,并存储到 HDFS 文件系统中;
2、结果处理:Hive 会将查询结果进行处理,比如排序、去重等;
3、结果返回:最后,Hive 会将查询结果返回给用户,用户可以根据自己的需要进行处理。
猜您想看
-
PHP重点知识有哪些
PHP基础知识...
2023年05月26日 -
如何在Linux中使用Apache作为Web服务器?
如何在Linu...
2023年04月15日 -
什么是decision tree
什么是决策树?...
2023年07月20日 -
如何升级电脑的操作系统?
如何升级电脑操...
2023年04月20日 -
开发者必看的GitHub库有哪些
开发者在Git...
2023年07月23日 -
Linux中的用户和组以及文件权限详解
一、Linux...
2023年05月22日