IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 一个HQL语句是如何转换成MR任务的? -> 正文阅读

[大数据]一个HQL语句是如何转换成MR任务的?

1 具体核心流程图介绍

?2 详情分析

(1)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”这个类。

(2)服务端接收到客户端的服务请求会启动一个CliDriver类。该类主要完成以下功能

1)解析客户端的-e,-f等参数

2)定义标准的输入输出流

3)按照;切分HQL语句。可以执行以分号隔开的多个SQL语句,按顺序执行

(3)创建Driver类

1)Hive语法解析器会将HQL语句按照词法、语法解析,翻译成抽象的语法树【AST】

2)将抽象的语法树转换成任务树【TaskTree】,调用分析器的方法

  • ??? 将抽象语法树转换为查询块【 QueryBlock】,可以理解为最小的查询单元
  • ??? 遍历查询块,将其转换为操作树【OperatorTree,逻辑执行单元】,可以理解为不可拆分的逻辑执行单元
  • ?? 使用逻辑优化器对操作树进行逻辑优化
  • ?? 遍历操作树,转换为任务数【TaskTree】。也就是翻译为MR任务流程,将逻辑执行计划转换为物理执行计划
  • ? 使用物理执优化器对任务树进行物理优化

3)提交任务执行

?? 生成最终的执行计划提交到Hadoop集群

  • 1)获取MR临时工作目录
  • 2)定义分区器【Partitioner】
  • 3)? 定义Mapper和Reducer
  • 4)实例化job
  • 5)? 提交job

3 流程图

?

?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-23 16:45:39  更:2021-08-23 16:46:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年10日历 -2024/10/26 8:27:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码