栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Hive--前言

Hive--前言

1.Hive的基本概念 1.1前言

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

1.2什么是Hive

Hive是由Facebook开源的用于解决海量结构化日志的数据统计工具。Hive是一个基于Hadoop的数据仓库工具,可以将结构化数据映射为一张表,并提供类似于Mysql中SQL的功能。其本质是将HQL转化为一个MapReduce任务,然后在Hadoop集群上执行。

    Hive处理的数据存储在HDFS上Hive分析数据底层是通过MR程序实现的执行程序是在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 任务流程说明

    进入程序以后,利用Antlr框架定义HQL语法规则,对HQL完成语法词法解析,将HQL转化为抽象语法树遍历抽象语法树,抽象出基本的执行单元查询块(QueryBlock),可以理解为最小的执行单元遍历QueryBlcok,将其转化为操作树(OperatorTree,也叫逻辑执行计划),可以理解为一个不可拆分的逻辑执行单元使用逻辑优化器将OperatorTree进行逻辑优化遍历OperatorTree,将其转化为TaskTree,也就是翻译成MR的过程使用物理优化器对MR程序进行物理优化生成最终的执行计划,提交到Hadoop集群上去
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/753138.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号