`
badxy
  • 浏览: 138743 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多
Hive 架构
图上显示了Hive的主要组件以及与Hadoop的关系。如图所示,Hive的主要部件是:
UI 用户提交查询和其他的操作。当前系统有一个命令行的接口和基于Web的的GUI
Driver 接受query的组件,该组件实现session的概念,以处理和提供基于JDBC/ODBC执行以及颉取的API。
编译器 该组件分析query,在不同的查询块和查询表达式上进行语义分析,并最终通过从metastore中查找表与分区的元信息生成执行计划
Metastore 此组件存储数据仓库里所有的各种表与分区的结构化信息,包括列与列类型信息,序列化器与反序列化器,从而能够读写hdfs中的数据
执行引擎 此组件执行由compiler创建的执行计划。此计划是一个关于阶段的有向无环图。执行引擎管理不同阶段的依赖关系,并在合适的系统组件上执行这些阶段

Hive 查询语言
HiveQL是一个类SQL的查询语言。它模仿SQL语法来创建表,读表到数据,并查询表。HiveQL也允许用户嵌入他们自定义的map-reduce脚本。这些脚本能用任何支持基于行的流式接口的语言写-从标准输入读入并写到标准输出。这种灵活性也有一定的代价:即字符串的转换带来的性能损失。尽管如此,我们看到用户似乎不介意于此,他们自己实现这些脚本。另一个特性是多表插入。在此构造下,用户可以在相同的数据上通过一条HiveQL执行多query。Hive优化这些query,从而能共享输入数据的扫描,这样就增加了这些query的几个数量级的吞吐量。
编译器
Parser 将query string转换成解析树的表示
Semantic Analyser  解析树转换成query的内部表示,仍然是基于语句块的而非操作树。此阶段中,列名被校验,*通配符扩展被执行。类型检查和任何隐式的类型转换也在此阶段做。如果是一个分区表,这也是一个普遍的情况,所有该表的表达式被收集起来,这样它们就能用于修剪不需要的分区。如果query有一些制定的样例,它也会被收集起来以被后用
逻辑计划生成器 将query的内部表示转换为逻辑计划,它是一棵操作符树。一些操作符是关系代数符-如filter join等。但有些是hive特有的并被转为一系列的map reduce工作。如reduceSink操作符在mapreduce边界出现。此步也包括对plan做变换以提高性能-如将一系列的join转换为多路join,执行map端的部分的groupby聚集,执行两阶段内的groupby以避免如下情形:当groupingkey出现数据倾斜时一个reducer变成瓶颈。每个操作符包括一个可序列化的描述符。
查询计划生成器 - 将逻辑计划转换为一系列的map-reduce任务。操作符树被递归的遍历,从而它们被打散为一系列mapreduce序列化的可被mapreduce框架与hadoop hdfs接收的任务。reduceSink 操作符是mapreduce的边界,它的描述符包含归减键。reduceSink 的描述符里的归减键被用作mapreduce边界的归减键。如果query被指定了样例与分区,该计划也会包含它们。该计划然后被序列化到一个文件中。
优化器
更多的计划转换会有优化器来做。优化器是一个演化组件。当前,它的规则是:列修剪,谓词下压。
分享到:
评论

相关推荐

    大数据Hive架构原理.pdf

    "大数据Hive架构原理.pdf" 大数据Hive架构原理是指基于Hadoop的一种数据仓库工具,能够将结构化的数据文件映射为一张数据库表,并提供类SQL的查询功能。Hive架构原理基于Hadoop的其它组件之上,依赖于HDFS进行数据...

    Hive1--HIVE架构.pdf

    Hive1--HIVE架构.pdf 学习资料 复习资料 教学资源

    第二节 hive架构.mp4

    第二节 hive架构.mp4

    大数据处理--Hive技术架构及应用

    大数据处理--Hive技术架构及应用,主要介绍了数据仓库...针对数据仓库海量数据的统计分析,而引入Hive,接着分别介绍了Hive架构、工作过程及与关系数据库进行详细比较,进而重点讲如何操作使用Hive并给出了实战的例子。

    分布式数据仓库Hive大全

    1.1 HIVE架构 6 1.2 Hive 和 Hadoop 关系 7 1.3 Hive 和普通关系数据库的异同 8 1.4 HIVE元数据库 9 1.4.1 DERBY 9 1.4.2 Mysql 10 1.5 HIVE的数据存储 11 1.6 其它HIVE操作 11 2. HIVE 基本操作 12 2.1 create ...

    Hive用户指南

    1.1 HIVE架构 6 1.2 Hive 和 Hadoop 关系 7 1.3 Hive 和普通关系数据库的异同 8 1.4 HIVE元数据库 9 1.4.1 DERBY 9 1.4.2 Mysql 10 1.5 HIVE的数据存储 11 1.6 其它HIVE操作 11 2. HIVE 基本操作 12 2.1 create ...

    Hive用户指南(Hive_user_guide)_中文版.pdf

    1.1HIVE 架构 Hive 的结构可以分为以下几部分: 用户接口:包括 CLI, Client, WUI 元数据存储。通常是存储在关系数据库如 mysql, derby 中 6 解释器、编译器、优化器、执行器 Hadoop:用 HDFS 进行存储,利用 ...

    Hive学习笔记整理.pdf

    1.1 HIVE架构 Hive的架构是基于Hadoop的分布式文件系统的。Hive的架构主要包括三个部分:Hive客户端、Hive服务端和Hadoop分布式文件系统。Hive客户端负责与用户进行交互,Hive服务端负责执行Hive的查询语句,Hadoop...

    hive框架简介

    详细介绍了hive框架,主要包含了以下内容: Hive架构 Hive DDL Hive DML Hive 查询 Hive 函数

    Hive SQL 编译过程详解

    1、MapReduce实现基本SQL操作的原理 1.1 Join的实现原理 1.2 Group By的实现原理 1.3 Distinct的实现原理 2.1 Phase1 SQL词法,语法解析 2.1.1 Antlr 2.1.2 抽象语法树AST Tree 2.1.3 样例SQL ........... ...

    10-Hive数据仓库

    Hive数据仓库思维导图,便捷整理思路,Hive简介、Hive架构、Hive搭建:单用户模式、多用户模式

    hive最全面的思维导图

    关于HIVE的介绍和常用方法的使用.包括它所支持的数据类型,hive架构,hive与传统数据库的对比,以及MapReduce的用法

    Hive体系架构、安装与HiveQL

    Hive体系架构、安装与HiveQL,Hive体系架构、安装与HiveQL,Hive体系架构、安装与HiveQL

    IT十八掌_Hive阶段学习笔记(课堂笔记与优化总结)

    IT十八掌第三期配套课堂笔记 1、Hive工作原理、类型...2、Hive架构及其文件格式 3、Hive操作及Hive复合类型 4、Hive的JOIN详解 5、Hive优化策略 6、Hive内置操作符与函数 7、Hive用户自定义函数接口 8、Hive的权限控制

    Hive简介01.pptx

    01. Hive基本概念 02. Hive架构 03. Hive数据组织 04. 常用HQL介绍

    深入浅出Hive企业级架构优化、Hive Sql优化、压缩和分布式缓存

    深入浅出Hive企业级架构优化、Hive Sql优化、压缩和分布式缓存

    hbase:实验一-Hive3安装与部署.pdf

    实验目的: 学习Hive基本知识;2)提高Linux操作技能...4)了解Hive架构与相关组件。 实验内容: 1)配置伪分布式Hadoop3系统;2)配置并运行Hive服务HiveServer2;3)以beeline连接HiveServer2,可以运行初级查询命令。

    Hive体系架构安装与HiveQL,应用案例.pdf

    Hive体系架构安装与HiveQL,应用案例

    大规模数据查询Hive及Impala技术原理及架构.pdf

    大规模数据查询Hive及Impala技术原理及架构

Global site tag (gtag.js) - Google Analytics