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 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> HIVE SQL 底层执行逻辑 -> 正文阅读

[大数据]HIVE SQL 底层执行逻辑

HIVE SQL 底层执行逻辑

hive可以通过访问HDFS等,通过MR引擎(或者更换的Spark、Tez等)执行查询逻辑,一个hive sql会被解译为若干个mr流程,那么是怎么执行的?

一、HIVE五大组件

在hive中,有很重要的五个组件

  1. UI

    用户界面,也就是hive提供给用户的可视化工具

  2. DRIVER

    驱动程序,十分关键的一部分

  3. COMPLIER

    编译器。负责将HIVE SQL翻译成可执行的执行计划

  4. METASTORE

    元数据库。存储各种表和分区所有的结构信息

  5. EXECUTION ENGIGN

    执行引擎。将解译好的执行计划提交到不同的引擎上。MR、Spark、Tez

二、执行过程

执行过程可以简单的理解为

  1. 通过UI提交代码
  2. 编译器编译,生成执行计划
  3. 获取执行计划中需要的元数据
  4. 为执行计划划分阶段
  5. 执行任务
  6. 任务结束,返回到UI

步骤1:UI调用DRIVER的接口

步骤2:DRIVER为查询创建会话句柄,并将查询发送到编译器生成执行计划

步骤3:编译器从元数据存储中获取输入输出元数据

步骤4:编译器生成的计划是分阶段的DAG,每个阶段要么是map任务,要么是reduce任务,从而将生成的计划发给DRIVER

步骤5:执行引擎将任务提交到对应的引擎。在每个 task(mapper/reducer) 中,从HDFS文件中读取与表或中间输出相关联的数据,并通过相关算子树传递这些数据。最终这些数据通过序列化器写入到一个临时HDFS文件中(如果不需要 reduce 阶段,则在 map 中操作)。临时文件用于向计划中后面的 map/reduce 阶段提供数据。

步骤6:最终的临时文件移动到表的位置
在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-06-06 17:25:11  更:2022-06-06 17:25:53 
 
开发: 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年5日历 -2024/5/19 22:23:04-

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