人民大2023Hadoop技术与应用教学课件u7

上传人:AZ****01 文档编号:360054875 上传时间:2023-09-09 格式:PPTX 页数:92 大小:1.94MB
返回 下载 相关 举报
人民大2023Hadoop技术与应用教学课件u7_第1页
第1页 / 共92页
人民大2023Hadoop技术与应用教学课件u7_第2页
第2页 / 共92页
人民大2023Hadoop技术与应用教学课件u7_第3页
第3页 / 共92页
人民大2023Hadoop技术与应用教学课件u7_第4页
第4页 / 共92页
人民大2023Hadoop技术与应用教学课件u7_第5页
第5页 / 共92页
点击查看更多>>
资源描述

《人民大2023Hadoop技术与应用教学课件u7》由会员分享,可在线阅读,更多相关《人民大2023Hadoop技术与应用教学课件u7(92页珍藏版)》请在金锄头文库上搜索。

1、Hadoop技术与应用ISBN978-7-300-31678-9 西京学院徐鲁辉 Hadoop技术与应用ISBN978-7-300-31678-9 西京学院徐鲁辉 【项目6回顾】1.了解HBase起源和功能。2.理解HBase数据模型。(重点)3.理解HBase体系架构。(重点)4.掌握HBase部署要点包括运行环境、运行模式及主要配置文件等。(重点)5.熟练掌握HBase Shell常用命令的使用,了解HBase Web UI界面和HBase Java API编程接口。(重点)6.熟练掌握在Linux环境下部署全分布模式HBase集群、使用HBase Shell常用命令完成数据库各类DDL、

2、DML操作。(重点)Hadoop技术与应用ISBN978-7-300-31678-9 西京学院徐鲁辉 【课程内容】开学第一课(理论1学时)项目1 部署全分布模式Hadoop集群(理论3学时+实验2学时)项目2 HDFS实战(理论4学时+实验2学时)项目3 MapReduce编程(理论4学时+实验2学时)项目4 YARN实战(理论2学时+实验2学时)项目5 部署ZooKeeper集群和ZooKeeper实战(理论2学时+实验2学时)项目6 部署全分布模式HBase集群和HBase实战(理论2学时+实验2学时)项目7 部署本地模式Hive和Hive实战(理论4学时+实验2学时)项目8 Sqoop实

3、战(理论2学时+实验2学时)项目9 Flume实战(理论2学时+实验2学时)项目10 Kafka实战(理论2学时+实验2学时)Hadoop技术与应用ISBN978-7-300-31678-9 西京学院徐鲁辉 项目7 部署本地模式Hive和Hive实战7.1 初识Hive7.2 Hive体系架构(重点)7.3 Hive数据类型7.4 Hive数据模型(重点)7.5 Hive函数(重点,难点)7.6 Hive部署要点(重点)7.7 Hive接口(重点,难点)7.8 项目实训:部署本地模式Hive和Hive实战(实验)Hadoop技术与应用ISBN978-7-300-31678-9 西京学院徐鲁辉

4、7.1 初识HiveHive是一个基于Hadoop的数据仓库工具,它可以将结构化的数据文件映射为一张表,并提供了类SQL查询语言HiveQL(Hive Query Language)。Hive由Facebook公司开源,主要用于解决海量结构化日志数据的离线分析。Hive的本质是将HiveQL语句转化成MapReduce程序,并提交到Hadoop集群上运行。Hive让不熟悉MapReduce编程的开发人员直接编写SQL语句来实现对大规模数据的统计分析操作,大大降低了学习门槛,同时也提升了开发效率。Hive处理的数据存储在HDFS上,Hive分析数据底层的实现是MapReduce,执行程序运行在Y

5、ARN上。Hadoop技术与应用ISBN978-7-300-31678-9 西京学院徐鲁辉 Hive基本工作流程Hadoop集群Hiveselect city,count(1)pv from ad_tablewhere data=20191001 group by cityMapReduceYARNHDFSuser/hive/warehouse/ad_table/data=20191001/log-20191001生成MR调度MR运行MR读取数据Hadoop技术与应用ISBN978-7-300-31678-9 西京学院徐鲁辉 7.1 初识Hive优点:(1)操作接口采用类SQL语法,简单易学,

6、提供快速开发的能力。(2)避免编写MapReduce应用程序,减少开发人员的学习成本。(3)Hive支持用户自定义函数,用户可以根据需求来实现自己的函数。缺点:(1)Hive执行延迟比较高,常用于对实时性要求不高的海量数据分析场合中。(2)Hive的HiveQL表达能力有限,例如迭代式算法无法表达,不擅长数据挖掘等。(3)Hive效率比较低,例如Hive自动生成的MapReduce作业,通常情况下不够智能化,另外Hive粒度较粗,调优比较困难。Hadoop技术与应用ISBN978-7-300-31678-9 西京学院徐鲁辉 7.2 Hive体系架构1.客户端组件1)CLI(Commmand L

7、ine Interface)2)JDBC/ODBC3)HWI(Hive Web Interface)2.服务端组件1)Thrift Server2)元数据(Metastore)3)驱动器(Driver)HiveHadoop集群MapReduceYARNHDFS驱动器(Driver)元数据(Metastore)CLIThrift ServerHWIJDBCODBC解析器(SQL Parser)编译器(Physical Plan)优化器(Query Optimizer)执行器(Execution)Hadoop技术与应用ISBN978-7-300-31678-9 西京学院徐鲁辉 7.2 Hive体系

8、架构元数据(Metastore)Metastore组件用于存储Hive的元数据,表名、表所属的数据库(默认是default)、表的拥有者、列/分区字段、表的类型(是否是外部表)、表的数据所在目录等。Hive元数据默认存储在自带的Derby数据库中,推荐使用MySQL存储Metastore。元数据对于Hive十分重要,因此Hive支持把Metastore服务独立出来,安装到远程的服务器集群里,从而解耦Hive服务和Metastore服务,保证Hive运行的健壮性。Hive元数据通常有三种存储位置形式:嵌入式元数据、本地元数据和远程元数据,根据元数据存储位置的不同,Hive部署模式也不同。Hado

9、op技术与应用ISBN978-7-300-31678-9 西京学院徐鲁辉 7.3 Hive数据类型1.基本数据类型2.集合数据类型Hadoop技术与应用ISBN978-7-300-31678-9 西京学院徐鲁辉 1.基本数据类型数据类型长度说明数字类TINYINT1字节有符号整型,-128 127SMALLINT2字节有符号整型,-32768 32767INT4字节有符号整型,-2,147,483,648 2,147,483,647BIGINT8字节有符号整型,-9,223,372,036,854,775,808 9,223,372,036,854,775,807FLOAT4字节有符号单精度浮

10、点数DOUBLE8字节有符号双精度浮点数DOUBLE PRECISION8字节同DOUBLE,Hive 2.2.0开始可用DECIMAL-可带小数的精确数字字符串NUMERIC-同DECIMAL,Hive 3.0.0开始可用日期时间类TIMESTAMP-时间戳,内容格式:yyyy-mm-dd hh:mm:ss.f.DATE-日期,内容格式:YYYYMMDDINTERVAL-存储两个时间戳之间的时间间隔字符串类STRING-字符串VARCHAR字符数范围1-65535长度不定字符串CHAR最大的字符数:255长度固定字符串Misc类BOOLEAN-布尔类型 TRUE/FALSEBINARY-字节

11、序列Hadoop技术与应用ISBN978-7-300-31678-9 西京学院徐鲁辉 2.集合数据类型数据类型长度说明ARRAY-数组,存储相同类型的数据,索引从0开始,可以通过下标获取数据MAP-字典,存储键值对数据,键或者值的数据类型必须相同,通过键获取数据,MAPSTRUCT-结构体,存储多种不同类型的数据,一旦结构体被声明,其各字段的位置不能改变,STRUCTUNIONTYPE-联合体,UNIONTYPEHadoop技术与应用ISBN978-7-300-31678-9 西京学院徐鲁辉 7.4 Hive数据模型Hive没有专门的数据存储格式,也没有为数据建立索引,用户可以非常自由的组织H

12、ive中的表,只需创建表时告诉Hive数据中的列分隔符和行分隔符,Hive就可以解析数据。Hive中所有的数据都存储在HDFS中,根据对数据的划分粒度,Hive包含以下数据模型:表(Table)、分区(Partition)和桶(Bucket)。表分区桶,对数据的划分粒度越来越小。数据库表表桶桶分区分区桶桶倾斜数据正常数据Hadoop技术与应用ISBN978-7-300-31678-9 西京学院徐鲁辉 1.表(Table)Hive的表和关系数据库中的表相同,具有各种关系代数操作。1)内部表(Table)Hive默认创建的表都是内部表,因为这种表,Hive会(或多或少地)控制着数据的生命周期。默认

13、情况下Hive会将这些表的数据存储在由配置项hive.metastore.warehouse.dir(例如/user/hive/warehouse)所定义的HDFS目录的子目录下,每一个Table在该数据仓库目录下都拥有一个对应的目录存储数据。当删除一个内部表时,Hive会同时删除这个数据目录。内部表不适合和其它工具共享数据。2)外部表(External Table)Hive创建外部表时需要指定数据读取的目录,外部表仅记录数据所在的路径,不对数据的位置做任何改变,而内部表创建时就把数据存放到默认路径下,当删除表时,内部表会将数据和元数据全部删除,而外部表只删除元数据,数据文件不会删除。外部表和

14、内部表在元数据的组织上是相同的,外部表加载数据和创建表同时完成,并不会移动数据到数据仓库目录中。Hadoop技术与应用ISBN978-7-300-31678-9 西京学院徐鲁辉 2.分区(Partition)分区表通常分为静态分区表和动态分区表,前者导入数据时需要静态指定分区,后者可以直接根据导入数据进行分区。分区表实际上就是一个对应HDFS文件系统上的独立的文件夹,该文件夹下是该分区所有的数据文件。Hive中的分区就是分目录,把一个大的数据集根据业务需要分割成小的数据集。分区的好处是可以让数据按照区域进行分类,避免了查询时的全表扫描。Hadoop技术与应用ISBN978-7-300-3167

15、8-9 西京学院徐鲁辉 3.桶(Bucket)分桶就是将同一个目录下的一个文件拆分成多个文件,每个文件包含一部分数据,方便获取值,提高检索效率。分区针对的是数据的存储路径,分桶针对的是数据文件。分区提供一个隔离数据和优化查询的便利方式,但并非所有的数据集都可形成合理的分区;分桶是将数据集分解成更容易管理的若干部分的另一种技术。用户可以将分区或者未分区的表数据按某列的HASH函数值分配到桶中。事实上,每个桶通常是一个分区或者表目录下的一个文件。例如,将分区划分为n个桶,则将在分区目录下产生n个文件。Hive通过某列的HASH值取模来决定桶的分配。使用桶分配数据的原因有两个方面:第一,方便JOIN

16、连接操作,连接时要求属于同一个连接键的数据在一个分区中,假设分区Key和连接Key不同,则可以使用连接的键将表数据分桶,然后在桶内进行连接。第二,分桶使采样过程更高效,从而降低Hive的查询时间。Hadoop技术与应用ISBN978-7-300-31678-9 西京学院徐鲁辉 【案例:表Student在Hive中的分区、分桶存储】Hadoop技术与应用ISBN978-7-300-31678-9 西京学院徐鲁辉 7.5 Hive函数内置运算符内置函数自定义函数Hadoop技术与应用ISBN978-7-300-31678-9 西京学院徐鲁辉 1.内置运算符类型运算符说明算术运算符+、-、*、/加、减、乘、除%求余&、|、按位与、或、异或、非关系运算符=、!=(或)、=等于、不等于、小于、小于等于、大于、大于等于IS NULL、IS NOT NULL判断值是否为“NULL”LIKE、RLIKE、REGEXPLIKE进行SQL匹配,RLIKE进行Java匹配,REGEXP与RLIKE相同逻辑运算符AND、&逻辑与OR、|逻辑或NOT、!逻辑非复杂运算符AnA是一个数组,n为int型。返回数组A

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号