- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
云计算和大数据技术-概念应用与实战PPT第8章精要
《云计算和大数据技术:概念应用与实战》
第8章
数据仓库平台 — Hive
人民邮电出版社
21世纪高等院校云计算和大数据人才培养规划教材
任务 Hive的搭建与使用
Hive
8.1
8.2
内容导航
CONTENTS
8.1.1 Hive简介
Hive是建立在Hadoop上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。Hive定义了简单的类SQL查询语言,称为QL,它允许熟悉SQL的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的mapper和reducer来处理内建的mapper和reducer无法完成的复杂的分析工作。Hive基于Hadoop,Hadoop是批处理系统,不能保证低延迟,因此,Hive的查询也不能保证低延迟。
8.1.1 Hive简介
Hive是一个构建于Hadoop顶层的数据仓库,注意这里不是数据库。Hive可以看作是用户编程接口,它本身不存储和计算数据,它依赖于HDFS和MapReduce。
Hive是Facebook 2008年8月刚开源的一个数据仓库框架,其系统目标与Pig有相似之处,但它有一些Pig目前还不支持的机制,比如更丰富的类型系统、更类似SQL的查询语言、Table/Partition元数据的持久化等。
8.1.2 Hive的体系结构
Hive体系机构
8.1.2 Hive的体系结构
Hive的体系结构主要分为以下几个部分。
(①用户接口:包括命令行CLI,Client,Web界面WUI,JDBC/ODBC接口等。
(②中间件:包括Thrift接口和JDBC/ODBC的服务端,用于整合Hive和其他程序。
(③元数据Metadata存储:通常是存储在关系数据库如MySQL,Derby中的系统。
(4)底层驱动:包括HiveQL解释器、编译器、优化器、执行器(引擎)。
(5)Hadoop:用HDFS进行存储,利用MapReduce进行计算。
8.1.2 Hive的体系结构
用户接口
用户接口主要命令有三个:CLI,Client 和 WUI。其中最常用的是CLI。CLI启动的时候,会同时启动一个Hive副本。Client是Hive的客户端,用户连接至Hive Server。在启动Client模式的时候,需要指出Hive Server所在节点,并且在该节点启动Hive Server。WUI是通过浏览器访问Hive。
8.1.2 Hive的体系结构
Hive将元数据存储在数据库中,如MySQL、Derby。Hive中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。
元数据Metadata存储
解释器、编译器、优化器完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在HDFS中,并在随后由MapReduce调用执行。
底层驱动
8.1.2 Hive的体系结构
Hive的数据存储在HDFS中,大部分的查询由MapReduce完成(包含 * 的查询,比如 select * from tbl 不会生成MapRedcue任务)。
Hadoop
Hive与Hadoop
之间的关系
8.1.3 Hive元数据存储
MetaStore类似于Hive的目录。它存放了表、区、列、类型、规则模型的所有信息;并且它可以通过Thrift接口进行修改和查询。它为编译器提供高效的服务,所以它会存放在一个传统的RDBMS中,利用关系模型进行管理。这个信息非常重要,所以它需要备份,并且支持查询的可扩展性。
8.1.3 Hive元数据存储
(①Single User Mode
Hive 将元数据存储在RDBMS中,有三种模式可以连接到数据库。
此模式连接到一个In-memory的数据库Derby,只能允许一个会话连接,只适合简单的测试。
(②Multi User Mode
通过网络连接到一个数据库,一般使用MySQL作为元数据库,Hive内部对MySQL提供了很好的支持。
8.1.3 Hive元数据存储
表名
说明
关联键
TBLS
所有Hive表的基本信息(表名,创建时间,所属者等)
TBL_ID,SD_ID
TABLE_PARAM
表级属性(如是否外部表,表注释,最后修改时间等)
TBL_ID
COLUMNS
Hive表字段信息(字段注释,字段名,字段类型,字段序号)
SD_ID
字段类型,字段序号)
用MySQL作为Hive Meta Store的存储数据库,主要涉及的元数据表如下:
8.1.3 Hive元
文档评论(0)