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--前言 -> 正文阅读

[大数据]Hive--前言

1.Hive的基本概念

1.1前言

在学习Hive原理之前,你必须对Hadoop有一定的了解并且使用过HQL,否则建议先学习Hadoop。

1.2什么是Hive

  • Hive是由Facebook开源的用于解决海量结构化日志的数据统计工具。
  • Hive是一个基于Hadoop的数据仓库工具,可以将结构化数据映射为一张表,并提供类似于Mysql中SQL的功能。
  • 其本质是将HQL转化为一个MapReduce任务,然后在Hadoop集群上执行。
  1. Hive处理的数据存储在HDFS上
  2. Hive分析数据底层是通过MR程序实现的
  3. 执行程序是在Yarn上运行的
    在这里插入图片描述

2.Hive的架构原理

hive由用户接口、元数据、解析器、编译器、优化器、执行器组成
在这里插入图片描述

  • 用户接口:Client
    用户可以通过命令行输入(CLI)、JDBC访问Hive(JDBC/ODBC)、浏览器访问hive(web ui)
  • 元数据:Metastore
    元数据指的是库名、表名、表的拥有者、列/分区字段、表的类型(内部表/外部表)、表的数据所在目录等这一类数据。
    元数据默认存储在自带的 derby 数据库中,但是也可以自定义在MySQL中。
  • 解析器:SQL Parser
    解析器用于将用户编写的HQL转化为抽象语法树(什么是抽象语法树,自行百度)
  • 编译器:Physical Plan
    编译器用于将抽象语法树转化为逻辑执行计划
  • 优化器:Query Optimizer
    对逻辑执行计划进行优化
  • 执行器:Execution
    将逻辑执行计划转化为可以运行的物理计划(MR或者Spark任务)

3.HQL 转换为 MR 任务流程说明

  1. 进入程序以后,利用Antlr框架定义HQL语法规则,对HQL完成语法词法解析,将HQL转化为抽象语法树
  2. 遍历抽象语法树,抽象出基本的执行单元查询块(QueryBlock),可以理解为最小的执行单元
  3. 遍历QueryBlcok,将其转化为操作树(OperatorTree,也叫逻辑执行计划),可以理解为一个不可拆分的逻辑执行单元
  4. 使用逻辑优化器将OperatorTree进行逻辑优化
  5. 遍历OperatorTree,将其转化为TaskTree,也就是翻译成MR的过程
  6. 使用物理优化器对MR程序进行物理优化
  7. 生成最终的执行计划,提交到Hadoop集群上去
    在这里插入图片描述
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章           查看所有文章
加:2022-03-08 22:34:18  更:2022-03-08 22:38:57 
 
开发: 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年11日历 -2024/11/24 9:24:03-

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