HIVE源码(2):HQL 转换为 MR 源码详细解读(1)

1 HQL 转换为 MR 源码整体流程介绍

2 程序入口 — CliDriver

众所周知,我们执行一个 HQL 语句通常有以下几种方式:
1)$HIVE_HOME/bin/hive 进入客户端,然后执行 HQL;
2)$HIVE_HOME/bin/hive -e “hql”;
3)$HIVE_HOME/bin/hive -f hive.sql;
4)先开启 hivesever2 服务端,然后通过 JDBC 方式连接远程提交 HQL。
可 以 知 道 我 们 执 行 HQL
主 要 依 赖 于 $HIVE_HOME/bin/hive 和 $HIVE_HOME/bin/
hivesever2 两种脚本来实现提交
HQL,而在这两个脚本中,最终启动的 JAVA 程序的主类为
org.apache.hadoop.hive.cli.CliDriver”,所以其实 Hive 程序的入口就是“CliDriver”这个类。 

3 HQL 的读取与参数解析

3.1 找到“CliDriver”这个类的“main”方法
3.2 主类的 run 方法

 

 

3.3 executeDriver 方法

 

 

3.4 processLine 方法 

 

3.5 processCmd 方法 

 

 

 

 

 

本文来自博客园,作者:秋华,转载请注明原文链接:https://www.cnblogs.com/qiu-hua/p/15173206.html

原文地址:https://www.cnblogs.com/qiu-hua/p/15173206.html