Presentation is loading. Please wait.

Presentation is loading. Please wait.

大数据应用人才培养系列教材 大数据实践 刘 鹏 张 燕 总主编 袁晓东 主编 黄必栋 副主编.

Similar presentations


Presentation on theme: "大数据应用人才培养系列教材 大数据实践 刘 鹏 张 燕 总主编 袁晓东 主编 黄必栋 副主编."— Presentation transcript:

1 大数据应用人才培养系列教材 大数据实践 刘 鹏 张 燕 总主编 袁晓东 主编 黄必栋 副主编

2 第4章 数据仓库工具Hive 4.1 Hive部署 4.5 Hive SQL 4.2 Hive部署 4.6 Hive操作实例
大数据应用人才培养系列教材 第4章 数据仓库工具Hive Hive部署 Hive SQL Hive部署 Hive操作实例 Hive配置 实验3 Hive实验 Hive接口 习题

3 4.1 Hive简介 第四章 数据仓库工具HIve 1.工作原理 Hive本质上是一个SQL解析引擎,它将SQL语句转译成MapReduce作业并在Hadoop上执行。Hive执行过程如下,其工作原理如图。 (1)用户通过用户接口连接Hive,发布Hive QL。 (2)Hive解析查询并制定查询计划。 (3)Hive将查询转换成MapReduce作业。 (4)Hive在Hadoop上执行MapReduce作业。

4 4.1 Hive简介 第四章 数据仓库工具HIve 2.体现架构 Hive的体系架构如图所示,按功能主要分5大模块:用户接口、Thrift服务器、 解析器、MetaStore元数据和Hadoop集群。

5 4.1 Hive简介 第四章 数据仓库工具HIve 3.数据模型 Hive包含以下四种数据模型:内部表(Managed Table)、外部表(External Table)、分区(Partition)和桶(Bucket)。Hive中的数据存储如下图所示。 数据库 (database) (table) 常规数据 (data) 分区 (Partition) 分区(Partition) (Buckets)桶

6 4.1 Hive简介 3.数据模型 (1)内部表(Managed Table)。
每个Hive内部表在HDFS中都有对应目录用来存储表的数据。 内部表的创建过程和数据加载过程可以分别独立完成,也可以在同一个语句中完成。 删除内部表时,表中的数据和元数据会被同时删除。 (2)Hive外部表(External Table) Hive外部表和内部表在元数据组织上是一样的,但在实际数据存储上有较大差异。 外部表数据不存储在自己表所属目录中,存储在LOCATION指定的HDFS路径中。 外部表仅有一个过程,创建表和数据加载过程同时进行和完成。 删除外部表仅仅是删除外部表对应的元数据,外部表所指向的数据不会被删除。 创建外部表使用EXTERNAL关键字。

7 4.1 Hive简介 3.数据模型 (3)分区(Partition) 分区是表的部分列的集合。
一般为频繁使用的数据建立分区,在查找分区中数据时不用扫描全表,有利于提高查找效率。 Hive每个表有一个相应的目录存储数据,表中的的每一个分区对应表目录下的一个子目录,每个分区中的数据存储在对应子目录下的文件中。例如,表member(假定包含分区字段gender)在HDFS的路径为/user/hive/warehouse/member,分区gender=F对应的HDFS路径为/user/hive/warehouse/ member/gender=F,分区gender=M对应的HDFS路径为/user/hive/warehouse/member/gender=M,当导入数据到分区gender=F,则数据存储在/user/hive/warehouse/member/gender=F/000000_0文件中,当导入数据到分区gender=M,则数据存储在/user/hive/warehouse/member/gender=M/000000_0文件中。

8 4.1 Hive简介 3.数据模型 (4) 桶(Bucket) 桶是将表的列通过Hash算法进一步分解成不同的文件存储。
对指定列计算hash值,根据hash值切分数据,目的是为了并行。 每一个桶对应一个文件(注意和分区的区别)。分区是粗粒度的划分,桶是细粒度的划分,这样可以让查询发生在小范围的数据上,提高查询效率,适合进行表连接查询,适合用于采样分析。比如,要将member表的id列分散至32个桶中,首先对id列的值进行Hash值计算,其中对应Hash值是0的数据存储在/hive/warehouse/member/000000_0文件中,对应Hash值是1的数据存储在/hive/warehouse/ member/000001_0文件中,依次类推。

9 第4章 数据仓库工具Hive 4.1 Hive部署 4.5 Hive SQL 4.2 Hive部署 4.6 Hive操作实例
大数据应用人才培养系列教材 第4章 数据仓库工具Hive Hive部署 Hive SQL Hive部署 Hive操作实例 Hive配置 实验3 Hive实验 Hive接口 习题

10 4.2 Hive部署 第四章 数据仓库工具HIve 4.2.1.Hive部署模式 Hive将metastore元数据存储在RDBMS中,如MySQL、Derby。按metastore存储位置的不同,其部署模式分为内嵌模式、本地模式和完全远程模式三种。 1.内嵌模式 内嵌模式是安装时默认部署模式 元数据信息被存储在Hive自带的数据库Derby中 所示所有组件(如数据库、元数据服务)运行在同一个进程内。 只允许建立一个连接,意味着同一时刻只支持一个用户访问和操作Hive。

11 4.2 Hive部署 2.本地模式 本地模式的元数据服务运行在Hive服务主进程中。
当涉及元数据操作时,Hive服务中的元数据服务模块通过JDBC和存储于DB里的元数据数据库进行交互。 本地模式下MySQL数据库与Hive运行在同一台物理机器上 可提供多用户并发访问metastore服务。

12 4.2 Hive部署 3.远程模式 远程模式的元数据信息是被存储在独立数据库中 元数据可能存储在另一台物理机上,甚至另一种操作系统上。
元数据服务以独立进程运行。 远程模式允许创建多个连接,提供多用户同时访问并操作Hive。

13 4.2 Hive部署 第四章 数据仓库工具HIve 4.2.2.Hive内嵌模式部署 Hive是基于Hadoop的数据仓库技术,因此部署Hive前要预先部署完成Hadoop稳定版本的集群环境。hive-2.1.1二进制包的安装步骤如下。 (1)下载Hive安装包到/root/tools目录。 (2)解压二进制包到安装目录/usr/cstor,解压后生成子目录apache-hive bin。 (3)将目录apache-hive bin重命名为hive,方便后续操作。 (4)为Hive配置Hadoop安装路径。 (5)在HDFS里新建Hive存储目录。 (6)初始化元数据库,启动Hive,进入Hive运行时环境。 内嵌模式下,启动Hive指的是启动Hive运行时环境。出现“hive>”提示表示Hive正常启动,否则部署失败。

14 4.2 Hive部署 4.2.3.Hive本地和远程模式部署 Hive本地模式安装步骤。 (1)完成Hive基本安装。
(2)安装MySQL程序。 (3)启动MySQL。 (4)创建存储Hive元数据的数据库HiveDB。 (5)退出MySQL,切换到hive的bin目录编辑hive-config.sh文件。 (6)切换到hive的conf目录创建和编辑hive-site.xml文件。 (7)把Java连接MySQL的驱动程序文件mysql-connector-java-x.y.z-bin.jar复制到hive的lib目录。 (8)初始化元数据库,启动Hive,进入Hive运行时环境。 注意:要确保Hadoop集群已经启动和MySQL服务运行正常才可以启动Hive。 远程模式的安装与本地模式类似,最主要的区别是在hive-site.xml配置文件中修改localhost为远程MySQL数据库的IP地址。

15 第4章 数据仓库工具Hive 4.1 Hive部署 4.5 Hive SQL 4.2 Hive部署 4.6 Hive操作实例
大数据应用人才培养系列教材 第4章 数据仓库工具Hive Hive部署 Hive SQL Hive部署 Hive操作实例 Hive配置 实验3 Hive实验 Hive接口 习题

16 4.3 Hive配置 第四章 数据仓库工具HIve Hive启动时会读取相关配置信息,Hive配置可以调优HQL代码执行效率,Hive 配置文件在conf子目录下,经常需要根据需求进行修改。Hive配置文件主要有两个。 1. 文件hive-env.sh。指定Hadoop安装路径。 2. 文件hive-site.xml。保存Hive运行时所需要的相关配置参数。 HIVE_HOME/conf目录中的文件hive-default.xml.template保存着各个配置参数的默认值,用户可以通过在conf目录中创建hive-site.xml并新增特定参数的值来覆盖默认值。 更改hive-site.xml文件中的配置属性的方法。 (1)直接用命令vim hive-site.xml编辑hive-site.xml文件。 (2)使用带-hiveconf选项的Hive命令。 (3)使用set命令。

17 第4章 数据仓库工具Hive 4.1 Hive部署 4.5 Hive SQL 4.2 Hive部署 4.6 Hive操作实例
大数据应用人才培养系列教材 第4章 数据仓库工具Hive Hive部署 Hive SQL Hive部署 Hive操作实例 Hive配置 实验3 Hive实验 Hive接口 习题

18 4.4 Hive接口 第四章 数据仓库工具HIve Hive主要提供Hive Shell接口、Hive Web接口、Hive API接口、Hcatalog接口、 Pig接口和Beeline接口等。 1.Hive Shell接口 Hive Shell接口运行在Hadoop集群环境上,提供在Hive Shell下执行类SQL命令相关HiveQL操作环境,是Hive提供的标准接口,也是开发者最常用命令行接口。 在Hive提示符后输入HiveQL命令,Hive Shell把HiveQL查询转换为一系列MapReduce作业对任务进行并行处理,然后返回处理结果。通过Shell接口,程序员和分析师很容易编写HiveQL来实现新建表和查询表操作。 安装完Hive后,输入“<HIVE_HOME>/bin/hive”或者“hive --service cli”回车即可启动Hive Shell。初次在Hive Shell下执行命令,会在执行命令操作的机器上创建metastore数据库。

19 4.4 Hive接口 Hive Shell操作有如下特点。 (1)命令必须以分号“;”结束,通知Hive开始执行相应的操作。
(2)命令不要求大小写敏感(除了进行字符串比较相关操作),因此,命令“show table;”将会产生与“SHOW TABLE;”相同的输出结果。 (3)支持Tab键命令自动补全功能,如在hive>提示符后输入SH或SHO按下Tab键会自动补齐为show,输入show ta按下Tab键会显示所有可能的命令。 (4)默认会输出执行过程信息,如执行查询操作所用时间,通过指定-S选项可以禁止输出此类信息,只输出HiveQL执行结果。 Hive Shell的常用命令如下。 (1)清屏。 (4)查看表结构。 (2)查看数据库中的表。 (5)查看HDFS上的文件 (3)查看数据库中的内置函数。 (6)执行操作系统的命令

20 4.4 Hive接口 第四章 数据仓库工具HIve 2.Hive Web接口 Hive Web接口简称HWI(Hive Web Interface),是Hive Shell接口的一个替代方案(图形化实现),提供了更直观的Web界面,适合数据分析或数据运营人员做即席查询。用户通过浏览器来访问和操作Hive服务端,可以查看Hive数据库模式,执行HiveQL相关操作命令。在浏览器的地址栏输入 Web管理接口。 (1)配置HWI的步骤 打包war文件。 copy相关jar文件到$HIVE_HOME/lib目录下, 修改hive-site.xml配置文件 (2)启动HWI服务,在命令行下输入“hive --service hwi”启动Hive Web管理方式

21 第4章 数据仓库工具Hive 4.1 Hive部署 4.5 Hive SQL 4.2 Hive部署 4.6 Hive操作实例
大数据应用人才培养系列教材 第4章 数据仓库工具Hive Hive部署 Hive SQL Hive部署 Hive操作实例 Hive配置 实验3 Hive实验 Hive接口 习题

22 4.5 Hive SQL 第四章 数据仓库工具HIve Hive定义了简单的类SQL查询语句,称HiveQL,与大部分SQL语法兼容,方便熟悉SQL的开发者使用Hive开发和处理复杂的分析工作,还可以用HQL进行查询。 1.数据类型 Hive支持基本类型和复杂类型,基本类型包括如下几种。 (1)整数类型:tinyint/smallint/int/bigint。 (2)浮点数类型:float/double/dicemal。 (3)布尔类型:boolean。 (4)字符串类型:string/varchar/char。 复杂类型包括如下几种。 (1)Array:数组类型,由一系列相同数据类型的元素组成。 (2)Map:集合类型,包括Key-Value键值对,可以通过Key来访问元素。 (3)Struct:结构类型,可以包含不同数据类型的元素,这些元素可以通过“点语法”的方式来得到所需要的元素。

23 4.5 Hive SQL 2.DDL语句 DDL操作(Data Definition Language,数据定义语言),常用DDL语句。
(1) create/drop/alter数据库 (2) create/drop/truncate表 (3) alter表/分区/列 (4) Create/Drop/Alter视图 (5) Hive函数 Hive中内置了许多函数,比如日期操作函数day()、year()和month()等,数值操作函数sum()、avg()、max()、min()和count()等。但在某些特殊场景下,可能还是需要自定义函数满足特定功能,这时要用用户自定义函数UDF。

24 4.5 Hive SQL 第四章 数据仓库工具HIve 3.DML语句 DML(Data Manipulation Language,数据操作语言),常见的操作包括下面几个方面。 (1)将文件中的数据导入(load)到Hive表中 (2) select和filters (3)数据表连接join操作 (4)将select查询结果导出到Hive的另一个表中 (5)将select查询结果写入文件 写入本地文件系统 写入分布式文件系统HDFS

25 第4章 数据仓库工具Hive 4.1 Hive部署 4.5 Hive SQL 4.2 Hive部署 4.6 Hive操作实例
大数据应用人才培养系列教材 第4章 数据仓库工具Hive Hive部署 Hive SQL Hive部署 Hive操作实例 Hive配置 实验3 Hive实验 Hive接口 习题

26 4.6 Hive 操作实例 任务:在本地文件系统建立文件“/home/member.txt”,文件内容如下(数据之间用tab键分隔)。
(2)将本地文件“/home/member.txt”导入member表中。 (3)查询member表中所有记录。 (4)查询member表中男同学(性别值为1)数据。 (5)查询member表中22岁男同学数据。 (6)统计member表中男同学和女同学(性别值为0)的人数。 (7)删除member表。

27 实验3 Hive实验 一、 实验目的 理解Hive体系架构。 掌握Hive内嵌模式部署。 掌握Hive Shell常用命令的使用。
熟悉Hive表DDL操作和DML操作。 二、 实验要求 完成Hive内嵌模式部署。 能够将Hive数据存储在HDFS上。 进入HIve Shell,完成Hive的常见DDL操作和DML操作。 三、 实验步骤 (1) 为集群中所有机器添加域名映射,配置ssh免密登录。 (2) 部署Hadoop 2.7.3并启动。 (3) 内嵌模式安装hive-2.1.1版本。 (4) 启动Hive shell进行练习。

28 第4章 数据仓库工具Hive 4.1 Hive部署 4.5 Hive SQL 4.2 Hive部署 4.6 Hive操作实例
大数据应用人才培养系列教材 第4章 数据仓库工具Hive Hive部署 Hive SQL Hive部署 Hive操作实例 Hive配置 实验3 Hive实验 Hive接口 习题

29 习题: 1.简述Hive的工作原理。 2.简述Hive的功能作用及其体系架构。 3.简述Hive的三种部署方式。 4.简述Hive的接口。

30 AIRack人工智能实验平台 ——一站式的人工智能实验平台 DeepRack深度学习一体机 ——开箱即用的AI科研平台 BDRack大数据实验平台——一站式的大数据实训平台

31 云创公众号推荐 刘鹏看未来 云计算头条 中国大数据 深度学习世界 云创大数据订阅号 云创大数据服务号 高校大数据与人工智能
微信号:lpoutlook 云计算头条 微信号:chinacloudnj 中国大数据 微信号:cstorbigdata 深度学习世界 微信号:dl-world 云创大数据订阅号 微信号:cStor_cn 云创大数据服务号 微信号:cstorfw 高校大数据与人工智能 微信号:data_AI

32 手机APP推荐 我的PM2.5 随时随地准确 查看身边的 PM2.5值 同声译 支持26种语言 互译的实时翻 译软件 我的南京
云创大数据为路 况大数据应用提 供技术支持 科技头条 汇聚前沿资讯 的科技情报站

33 网站推荐 万物云 智能硬件大数据免费托管平台 环境云 环境大数据开放共享平台

34 感谢聆听


Download ppt "大数据应用人才培养系列教材 大数据实践 刘 鹏 张 燕 总主编 袁晓东 主编 黄必栋 副主编."

Similar presentations


Ads by Google