Hadoop大数据开发实例教程:分布式数据仓库——Hive技术PPT教学课件.pptx
分布式数据仓库——Hive技术066.1了解Hive6.2MySQL的安装与配置6.3Hive的安装与配置(本地独立模式)6.4Hive的基本应用6.5Hive综合示例6.6实训6部署并应用Hive
本模块先对Hive进行介绍,随后部署内嵌模式。由于内嵌模式一般用于单元测试,为了后续本地模式的正常安装与启动,中间穿插了与MySQL相关的知识点。通过Hive本地独立模式的安装与配置,利用搭建好的平台进行Hive的基本应用,包括Hive表的DDL、DML和SQL操作,最后通过Hive的两个综合实例来结束本模块。分布式数据仓库——Hive技术(1)了解Hive的概念及优缺点;(2)掌握Hive的内嵌模式和MySQL的安装与配置;(3)掌握Hive的本地独立模式部署;(4)熟练运用HiveShell;(5)能熟练使用HQL,并能进行Hive表的DDL和DML操作;(6)掌握使用HQL完成简单的大数据统计要求。目标和要求
6.1了解HiveHive(官网/)是一个基于Hadoop的数据仓库平台,是Hadoop大数据生态圈中一个重要的子项目,架构在Hadoop文件系统之上,并为数据仓库的管理提供许多功能,如数据ETL(抽取、转换和加载)工具、数据存储管理和大型数据集的查询及分析能力。Hive利用的是MapReduce的编程技术,并定义了类SQL的语言——HiveQL,运行后,用户可以进行与SQL相似的操作,这些都极大地推进了Hadoop在数据仓库方面的发展。Hive最初由Facebook开发,后来由Apache软件基金会负责开发和管理,后续进一步将它作为名下的ApacheHive开源项目。Hive构建在基于静态批处理的Hadoop之上,Hadoop通常都有较高的延迟且在作业提交和调度时需要大量的开销,因此,Hive具有相应的优点、局限性和适用场景。Hive有类SQL接口、学习成本低、可扩展性强、容错性好的优点,但不支持实时查询、不支持基于行级的数据更新操作和不支持联机事务处理,适用于大数据集的批处理作业(如网络日志分析)和离线数据分析。6.1.1Hive简介
6.1了解Hive6.1.2Hive体系架构Hive本身建立在Hadoop的体系架构上,提供了一个SQL的解析过程,并从外部接口中获取命令,以对用户指令进行解析。Hive将外部命令解析成一个MapReduce可执行计划,并按照计划生成MapReduce任务后交给Hadoop集群进行处理,其主要包含Hive各种访问接口、解释器和元数据库等组件,如图6-1所示。图6-1Hive体系结构
6.1了解Hive6.1.2Hive体系架构(1)用户接口包括HiveShell、Thrift客户端、Web接口等。(2)Thrift服务器当Hive以服务器模式运行时,可以作为Thrift服务器,供多个客户端同时使用Hive。(3)解释器包括编译器、优化器和执行器,将HiveQL翻译成MapReduce和HDFS的核心部件。(4)元数据库Hive元数据(如表信息)的集中存放地。(5)Hadoop底层分布式存储和计算引擎。
6.1了解Hive6.1.3Hive的数据存储Hive的存储是建立在Hadoop文件系统之上的,Hive本身没有专门的数据存储格式,也不能为数据建立索引,因此用户可以非常自由地组织Hive中的表,只需要在创建表时告诉Hive数据中的列分隔符和行分隔符就可以解析数据了。Hive中的表和数据库中的表在概念上是类似的,在Hive中每个表都有一个对应的存储目录,即一个表对应一个子目录。例如,一个数据库aaa和其下的表bbb,在HDFS中的路径为“/user/hive/warehouse/aaa.db/bbb”,其中,“/user/hive/warehouse”是在hive-site.xml配置文件中由${hive.metastore.warehouse.dir}指定的数据仓库的目录,所有的表数据(除外部表外)都默认保存在这个目录中。通过下面的SQL和Hive实例,可以非常好地理解Hive存储。
6.1了解Hive6.1.3Hive的数据存储(1)执行SQL语句
6.1了解Hive6.1.3Hive的数据存储(2)查看HDFS文件
6.1了解Hive6.1.3Hive的数据存储从执行SQL语句和查看HDFS文件,就能更好地理解Hive数据存储目录。Hive和数据库的相关比较如表6-1所示。表6-1Hive和数据库的相关比较
6.1了解Hive6.1.4Hive、HDFS、MySQL和MapRe