Chapter14厦门大学林子雨大数据技术原理与应用第十四章基于Hadoop的数据仓库Hive(2016年4月6日版本)课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Chapter14厦门大学林子雨大数据技术原理与应用第十四章基于Hadoop的数据仓库Hive(2016年4月6日版本)课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Chapter14 厦门大学 林子 数据 技术 原理 应用 第十四 基于 Hadoop 数据仓库 Hive 2016 版本 课件
- 资源描述:
-
1、大数据技术原理与应用 厦门大学计算机科学系 林子雨 厦门大学计算机科学系 2016年版林子雨林子雨厦门大学计算机科学系厦门大学计算机科学系E-mail:主页:主页:http:/ 基于基于Hadoop的数据仓库的数据仓库Hive(PPT版本号:版本号:2016年年4月月6日版本)日版本)大数据技术原理与应用大数据技术原理与应用http:/ 厦门大学计算机科学系 林子雨 课堂内容与教材对应关系说明厦门大学林子雨编著大数据技术原理与应用2015年8月1日人民邮电出版社出版发行第第1版版教材共包含13章内容第一章 大数据概述第二章 大数据处理架构Hadoop第三章 分布式文件系统HDFS第四章 分布式
2、数据库HBase第五章 NoSQL数据库第六章 云数据库第七章 MapReduce第八章 流计算第九章 图计算第十章 数据可视化第十一章 大数据在互联网领域的应用第十二章 大数据在生物医学领域的应用(自学)第十三章 大数据的其他应用(自学)2016年新增章节(将加入到第年新增章节(将加入到第2版教材中)版教材中)第第14章基于章基于Hadoop的数据仓库的数据仓库Hive第第15章章Hadoop架构再探讨架构再探讨第第16章章Spark大数据技术原理与应用 厦门大学计算机科学系 林子雨 课堂内容与教材对应关系说明课堂章节课堂章节对应的对应的大数据技术原理与应用大数据技术原理与应用(第(第1版)
3、教材版)教材章节章节第1讲-大数据概述第1章-大数据概述第2讲-大数据处理架构Hadoop第2章-大数据处理架构Hadoop第3讲-分布式文件系统HDFS第3章-分布式文件系统HDFS第4讲-分布式数据库HBase第4章-分布式数据库HBase第5讲-NoSQL数据库第5章-NoSQL数据库第6讲-云数据库第6章-云数据库第7讲-MapReduce第7章-MapReduce第第8讲讲-基于基于Hadoop的数据仓库的数据仓库Hive 新增第新增第14章,不在当前第章,不在当前第1版教材版教材中,将放中,将放入第入第2版版教材教材第第9讲讲-Hadoop架构再探讨架构再探讨新增第新增第15章,不
4、在当前第章,不在当前第1版教材中,将放入第版教材中,将放入第2版教材版教材第10讲-流计算第8章-流计算第第11讲讲-Spark新增第新增第16章,不在当前第章,不在当前第1版教材中,将放入第版教材中,将放入第2版教材版教材第12讲-图计算第9章-图计算第13讲-数据可视化第10章-数据可视化第14讲-大数据在互联网领域的应用第11章-大数据在互联网领域的应用备注:教材的第12章大数据在生物医学领域的应用和第13章大数据在其他领域的应用,为自学章节,不录制视频大数据技术原理与应用 厦门大学计算机科学系 林子雨 厦门大学计算机科学系 2016年版林子雨林子雨厦门大学计算机科学系厦门大学计算机科学
5、系E-mail:主页:主页:http:/ 基于基于Hadoop的数据仓库的数据仓库Hive(第(第1版教材出版后的版教材出版后的2016年新增章节)年新增章节)大数据技术原理与应用大数据技术原理与应用http:/ 厦门大学计算机科学系 林子雨 中国高校大数据课程公共服务平台http:/ 厦门大学计算机科学系 林子雨 提纲14.1 概述概述14.2 Hive系统架构系统架构14.3 Hive工作原理工作原理14.4 Hive HA基本原理基本原理14.5 Impala14.6 Hive编程实践编程实践欢迎访问大数据技术原理与应用教材官方网站:http:/ 林子雨 编著,人民邮电出版社ISBN:9
6、78-7-115-39287-9大数据技术原理与应用 厦门大学计算机科学系 林子雨 14.1 概述 14.1.1 数据仓库概念 14.1.2 传统数据仓库面临的挑战 14.1.3Hive简介 14.1.4Hive与Hadoop生态系统中其他组件的关系 14.1.5Hive与传统数据库的对比分析 14.1.6Hive在企业中的部署和应用大数据技术原理与应用 厦门大学计算机科学系 林子雨 14.1.1数据仓库概念数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time
7、 Variant)的数据集合,用于支持管理决策。图14-1 数据仓库的体系结构大数据技术原理与应用 厦门大学计算机科学系 林子雨 (1)无法满足快速增长的海量数据存储需求(2)无法有效处理不同类型的数据(3)计算和处理能力不足14.1.2 传统数据仓库面临的挑战大数据技术原理与应用 厦门大学计算机科学系 林子雨 14.1.3 Hive简介Hive是一个构建于Hadoop顶层的数据仓库工具支持大规模数据存储、分析,具有良好的可扩展性某种程度上可以看作是用户编程接口,本身不存储和处理数据依赖分布式文件系统HDFS存储数据依赖分布式并行计算模型MapReduce处理数据定义了简单的类似SQL 的查询
8、语言HiveQL用户可以通过编写的HiveQL语句运行MapReduce任务可以很容易把原来构建在关系数据库上的数据仓库应用程序移植到Hadoop平台上是一个可以提供有效、合理、直观组织和使用数据的分析工具大数据技术原理与应用 厦门大学计算机科学系 林子雨 14.1.3 Hive简介Hive具有的特点非常适用于数据仓库采用批处理方式处理海量数据采用批处理方式处理海量数据Hive需要把HiveQL语句转换成MapReduce任务进行运行数据仓库存储的是静态数据,对静态数据的分析适合采用批处理方式,不需要快速响应给出结果,而且数据本身也不会频繁变化提供适合数据仓库操作的工具提供适合数据仓库操作的工
9、具Hive本身提供了一系列对数据进行提取、转换、加载(ETL)的工具,可以存储、查询和分析存储在Hadoop中的大规模数据这些工具能够很好地满足数据仓库各种应用场景大数据技术原理与应用 厦门大学计算机科学系 林子雨 14.1.4 Hive与Hadoop生态系统中其他组件的关系Hive依赖于依赖于HDFS 存储数据存储数据Hive依赖于依赖于MapReduce 处理数据处理数据在某些场景下在某些场景下Pig可以作为可以作为Hive的替代工具的替代工具HBase 提供数据的实时访问提供数据的实时访问大数据技术原理与应用 厦门大学计算机科学系 林子雨 14.1.5 Hive与传统数据库的对比分析与传
10、统数据库的对比分析Hive在很多方面和传统的关系数据库类似,但是它的底层依赖的是HDFS和MapReduce,所以在很多方面又有别于传统数据库对比项目对比项目HiveHive传统数据库传统数据库数据插入支持批量导入支持单条和批量导入数据更新不支持支持索引支持支持分区支持支持执行延迟高低扩展性好有限大数据技术原理与应用 厦门大学计算机科学系 林子雨 14.1.6 Hive在企业中的部署和应用在企业中的部署和应用图 企业中一种常见的大数据分析平台部署框架1.Hive在企业大数据分析平台中的应用在企业大数据分析平台中的应用大数据技术原理与应用 厦门大学计算机科学系 林子雨 14.1.6 Hive在企
11、业中的部署和应用在企业中的部署和应用图 Facebook的数据仓库架构基于Oracle的数据仓库系统已经无法满足激增的业务需求Facebook公司开发了数据仓库工具Hive,并在企业内部进行了大量部署2.Hive在在Facebook公司中的应用公司中的应用大数据技术原理与应用 厦门大学计算机科学系 林子雨 14.2 Hive系统架构图 Hive系统架构用户接口模块包括CLI、HWI、JDBC、ODBC、Thrift Server驱动模块(Driver)包括编译器、优化器、执行器等,负责把HiveSQL语句转换成一系列MapReduce作业元数据存储模块(Metastore)是一个独立的关系型数
12、据库(自带derby数据库,或MySQL数据库)大数据技术原理与应用 厦门大学计算机科学系 林子雨 14.3 Hive工作原理14.3.1 SQL语句转换成MapReduce作业的基本原理14.3.2 Hive中SQL查询转换成MapReduce作业的过程大数据技术原理与应用 厦门大学计算机科学系 林子雨 14.3.1 SQL语句转换成MapReduce的基本原理1.join的实现原理的实现原理1是表User的标记位2是表Order的标记位1和2是uid的值大数据技术原理与应用 厦门大学计算机科学系 林子雨 14.3.1 SQL语句转换成MapReduce的基本原理2.group by的实现原
13、理的实现原理存在一个分组(Group By)操作,其功能是把表Score的不同片段按照rank和level的组合值进行合并,计算不同rank和level的组合值分别有几条记录:select rank,level,count(*)as value from score group by rank,level大数据技术原理与应用 厦门大学计算机科学系 林子雨 14.3.2 Hive中SQL查询转换成MapReduce作业的过程当用户向Hive输入一段命令或查询时,Hive需要与Hadoop交互工作来完成该操作:驱动模块接收该命令或查询编译器对该命令或查询进行解析编译由优化器对该命令或查询进行优化计
14、算该命令或查询通过执行器进行执行大数据技术原理与应用 厦门大学计算机科学系 林子雨 14.3.2 Hive中SQL查询转换成MapReduce作业的过程第1步:由Hive驱动模块中的编译器对用户输入的SQL语言进行词法和语法解析,将SQL语句转化为抽象语法树的形式第2步:抽象语法树的结构仍很复杂,不方便直接翻译为MapReduce算法程序,因此,把抽象语法书转化为查询块第3步:把查询块转换成逻辑查询计划,里面包含了许多逻辑操作符第4步:重写逻辑查询计划,进行优化,合并多余操作,减少MapReduce任务数量第5步:将逻辑操作符转换成需要执行的具体MapReduce任务第6步:对生成的MapRe
15、duce任务进行优化,生成最终的MapReduce任务执行计划第7步:由Hive驱动模块中的执行器,对最终的MapReduce任务进行执行输出大数据技术原理与应用 厦门大学计算机科学系 林子雨 14.3.2 Hive中SQL查询转换成MapReduce作业的过程当启动MapReduce程序时,Hive本身是不会生成MapReduce算法程序的需要通过一个表示“Job执行计划”的XML文件驱动执行内置的、原生的Mapper和Reducer模块Hive通过和JobTracker通信来初始化MapReduce任务,不必直接部署在JobTracker所在的管理节点上执行通常在大型集群上,会有专门的网关
16、机来部署Hive工具。网关机的作用主要是远程操作和管理节点上的JobTracker通信来执行任务数据文件通常存储在HDFS上,HDFS由名称节点管理几点说明:几点说明:大数据技术原理与应用 厦门大学计算机科学系 林子雨 14.4 Hive HA基本原理基本原理图 Hive HA基本原理问题:在实际应用中,Hive也暴露出不稳定的问题解决方案:Hive HA(High Availability)由多个Hive实例进行管理的,这些Hive实例被纳入到一个资源池中,并由HAProxy提供一个统一的对外接口对于程序开发人员来说,可以把它认为是一台超强“Hive大数据技术原理与应用 厦门大学计算机科学系
17、 林子雨 14.5 Impala 14.5.1Impala简介 14.5.2Impala系统架构 14.5.3 Impala查询执行过程 14.5.4Impala与Hive的比较大数据技术原理与应用 厦门大学计算机科学系 林子雨 14.5.1 Impala简介Impala是由Cloudera公司开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase上的PB级大数据,在性能上比Hive高出330倍Impala的运行需要依赖于Hive的元数据Impala是参照 Dremel系统进行设计的Impala采用了与商用并行关系数据库类似的分布式查询引擎,可以直接与HDFS和H
18、Base进行交互查询Impala和Hive采用相同的SQL语法、ODBC驱动程序和用户接口图 Impala与其他组件关系大数据技术原理与应用 厦门大学计算机科学系 林子雨 14.5.2 Impala系统架构图 Impala系统架构Impala和Hive、HDFS、HBase等工具是统一部署在一个Hadoop平台上的Impala主要由Impalad,State Store和CLI三部分组成大数据技术原理与应用 厦门大学计算机科学系 林子雨 14.5.2 Impala系统架构Impala主要由Impalad,State Store和CLI三部分组成1.Impalad负责协调客户端提交的查询的执行包
19、含Query Planner、Query Coordinator和Query Exec Engine三个模块与HDFS的数据节点(HDFS DN)运行在同一节点上给其他Impalad分配任务以及收集其他Impalad的执行结果进行汇总Impalad也会执行其他Impalad给其分配的任务,主要就是对本地HDFS和HBase里的部分数据进行操作2.State Store会创建一个statestored进程负责收集分布在集群中各个Impalad进程的资源信息,用于查询调度3.CLI给用户提供查询使用的命令行工具还提供了Hue、JDBC及ODBC的使用接口说明说明:Impala中的元数据直接存储在H
展开阅读全文
链接地址:https://www.163wenku.com/p-5191622.html