Hadoop大数据处理技术基础与实践(第3版)课件 第9章-分布式数据仓库技术Hive_第1页
Hadoop大数据处理技术基础与实践(第3版)课件 第9章-分布式数据仓库技术Hive_第2页
Hadoop大数据处理技术基础与实践(第3版)课件 第9章-分布式数据仓库技术Hive_第3页
Hadoop大数据处理技术基础与实践(第3版)课件 第9章-分布式数据仓库技术Hive_第4页
Hadoop大数据处理技术基础与实践(第3版)课件 第9章-分布式数据仓库技术Hive_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章分布式数据仓库技术Hive学习目标

·了解Hive的产生背景及其组成

·掌握Hive的安装设置

·了解HQL的相关知识

1.Hive出现原因如何实现对SQL技术比较熟悉的程序设计人员在Hadoop平台上对海量数据进行分析?如何实现传统的数据格式到Hadoop平台上的迁移,如基于传统关系型数据库的数据格式和SQL处理技术?如何实现传统数据库设计人员在Hadoop平台上使用其所熟悉的SQL技术施展才能?如何在分布式环境下采用数据仓库技术从更多的数据中快速地获取数据的有效价值?Hive正是为了解决这类问题应运而生的!1.Hive出现原因Hive的定义

Hive是一种数据仓库技术,用于查询和管理存储在分布式环境下的大数据集,由Facebook公司研发并作为开源项目贡献给了Apache软件基金会,目前Hive成功升级为Apache的顶级项目,并获得了全球大多数自由软件爱好者和大型软件公司的源码贡献和功能完善,成为一个应用广泛、可扩展的数据处理平台。2.Hive服务组成Hive的定义

2.Hive服务组成

Hive的存储是建立在Hadoop之上的,本身并没有特定的数据存储格式,也不会为数据建立索引,数据能以任意的形式存储在HDFS上,或者以特定分类形式存储在HBase中。用户可以灵活地根据自己对数据特定部分进行分析应用的需求组织相应的Hive表,在创建Hive表时,指明数据的列分隔符和行分隔符即可解析存储在HDFS或HBase上的数据。Hive本身建立在Hadoop体系之上,主要是提供了一个SQL解析过程,把外部SQL命令解析成一个MapReduce作业计划,并把按照该计划生成的MapReduce任务交给Hadoop集群处理2.Hive服务组成

Hive的体系结构2.Hive服务组成

Hive的体系结构介绍(1)CLI(CommandLineInterface):即命令行接口,提供在HiveShell下执行类似SQL命令的相关HQL操作,也是Hive提供的标准接口,可以使用一条HQL命令返回存储在Hadoop上的数据。(2)JDBC/ODBC:Hive提供了纯Java的JDBC驱动,该类定义在org.apache.hadoop.hive.jdbc.HiveDriver中。当在Java应用程序配置方法中使用jdbc:hive://host:port/dbname形式的JDBCURI,Java应用程序将会连接以独立进程形式运行在host:port上的Hive服务端。(3)WebUI(UserInterface):通过浏览器访问和操作Hive服务端,可以查看Hive数据库模式,执行HQL相关操作命令。2.Hive服务组成

Hive的体系结构介绍(4)ThriftServer:为Thrift(是Facebook开发的一个软件框架,用来进行可拓展且跨语言的服务)客户端应用、JDBC驱动应用、ODBC驱动应用提供Thrift服务,即实现用其他语言编写的程序转换为Java应用程序(因为Hadoop是用Java语言编写的),为编写Python、C++、PHP、Ruby等应用程序使用Hive操作提供了方便。(5)Driver:实现Hive服务操作到MapReduce分布式应用的任务转化。主要包含编译器(Compiler),优化器(Optimizer)和执行器(Executor)。(6)MetaStore:Hive采用类SQL语法模式的HQL语言操作存储在Hadoop分布式环境上的数据,因此需要在Hive与Hadoop之间提供一层抽象接口,实现Hive与Hadoop之间不同数据格式的转换,接口属性包括表名、列名、表分区名以及数据在HDFS上的存储位置,接口属性内容又称为Hive表元数据,以元数据内容形式存储在数据库中,用来限定Hive如何进行格式化操作从Hadoop中获取到的任何非结构化数据。2.Hive服务组成

Hive的体系结构介绍(7)JobClient:执行MapReduce分布式任务的作业调度器。(8)NameNode和DataNode:NameNode主要负责管理HDFS文件系统,主要包括NameSpace管理(其实就是目录结构),Block管理。NameNode提供的始终是被动接收服务的Server。DataNode主要是用来存储数据文件并负责实际底层的文件读写。3.Hive安装1.基本安装2.MySQL安装3.Hive配置hive-site.xml文件内容编辑hive-env.sh文件,在文件末尾添加变量指向Hadoop

的安装路径创建数据仓库操作过程中临时数据在HDFS上的转存目录创建数据仓库操作过程中数据文件在HDFS上的存储目录分别对刚创建的目录添加组可写权限,允许同组用户进行数据分析操作3.Hive安装1.HiveSET命令2.进入Hive会话带-hiveconf

选项3.读hive-site.xml文件4.读hive-default.xml文件5.读hadoop-site.xml文件及其相关文件(如core-site.xml、hdfs-site.xml、mapred-site.xml)6.读hadoop-default.xml文件及其相关文件(如core-default.xml、hdfs-default.xml、mapred-default.xml)4.HiveShell介绍HiveShell运行在Hadoop集群环境上,是Hive提供的命令行接口(CLI),在Hive提示符输入HiveQL命令,HiveShell把HiveQL查询转换为一系列MapReduce作业对任务进行并行处理,然后返回处理结果。Hive采用RDBMS表(table)形式组织数据,并为存储在Hadoop上的数据提供附属的对数据进行展示的结构描述信息,该描述信息称为元数据(metadata)或表模式,以metastore形式存储在RDBMS数据库中。HiveShell下的大多数操作与MySQL命令一致,熟悉MySQL的使用者会察觉两者的语法操作基本一样。5.HQL详解5.HQL详解Hive管理数据方式1.内部表2.外部表3.内部表与外部表之间的抉择4.分区5.桶5.HQL详解Hive表DDL操作1.Create/Drop/Alter数据库2.Create/Drop/Truncate表3.Alter表/分区/列4.Create/Drop/Alter视图5.Create/Drop/Alter索引6.Create/Drop函数7.Create/Drop/Grant/Revoke

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论