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”这个类
本文详细解读Hive源码,重点在于HQL如何转换为MapReduce任务。从HQL的多种执行方式引入,指出执行HQL的核心入口是`CliDriver`类。接着深入探讨HQL的读取、参数解析过程,包括`main`、`run`、`executeDriver`、`processLine`及`processCmd`等关键步骤。
订阅专栏 解锁全文
422

被折叠的 条评论
为什么被折叠?



