进入客户端
进入服务端
1,解析参数
2,定义标准输入输出流
3,按照 " ; " 切分HQL 语句
进入Driver(驱动器)中
1, 将HQL语句转换成抽象语法树(AST)
2,将语法树转换为逻辑执行单元
3,提交任务执行
PaserDriver
1,将HQL转化成Token(服务端生成的字符串,以作客户端请求的令牌)
2,对Token进行解析,生成AST
SemanticAnalyzer
1,将AST转化为查询块
2,将查询块转化为执行树(逻辑执行计划)
3,对操作树进行逻辑优化
4,生成任务树
5,对任务树物理优化
ExecDriver
1,获取MR临时工作目录
2,定义Partitioner分区
3,定义Mapper和Reducer
4,实例化Job
5,执行Job