- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大数据技术与应用 - 大数据处理和分析 - Hive和Mahout - 第五课
大数据技术与应用
网络与交换技术国家重点实验室
交换与智能控制研究中心
程祥
2016年9月
提纲-大数据处理和分析
1. 批处理计算
1.1 MapReduce
1.2 Spark
2. 流计算
2.1 Storm
3. 图计算
3.1 Pregel
4. 分析和挖掘
4.1 Hive
4.2 Mahout
1 基于Hadoop的数据仓库Hive
•1.1 概述
•1.2 系统详解
•1.3 编程实践
1.1 概述
•1.1.1 数据仓库
•1.1.2 传统数据仓库面临挑战
•1.1.3 Hive简介
•1.1.4 Hive的历史由来
•1.1.5 Hive在Hadoop生态系统中的位置
1.1.1 数据仓库
数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成
的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time
Variant)的数据集合,用于支持管理决策。
图 数据仓库的体系结构
1.1.2 传统数据仓库面临挑战
在大数据时代,传统的数据仓库主要面临以下挑战:
① 无法满足爆炸式增长的海量数据存储需求
② 数据量过大导致数据提取、处理速度慢
③ 往往依赖专用硬件,难于可扩展
1.1.3 Hive简介
• Hive是一个构建于Hadoop生态系统顶层的数据仓
库工具
• 支持大规模数据存储、分析,具有良好的可扩展
性
• 依赖分布式文件系统HDFS存储数据
• 依赖分布式并行计算模型MapReduce处理数据
• 定义了简单的类似SQL 的查询语言——HiveQL
• 用户可以通过编写的HiveQL语句运行MapReduce任
务
• 可以很容易把原来构建在关系数据库上的数据仓
库应用程序移植到Hadoop平台上
1.1.4 Hive的历史由来
• Hive是Facebook开发的,构建于Hadoop集群之上
的数据仓库应用
• 2008年Facebook将Hive项目贡献给Apache,成为
开源项目
1.1.4 Hive的历史由来(续)
Hive成为Facebook数据仓库的历史
Facebook的数据仓库一开始是构建于MySQL之上的,随
着数据量增加某些查询需要几个小时甚至几天才能完成。
当数据达到1T时,MySql进程跨掉。
将数据仓库转移到Oracle ,虽然可以支撑几个T的数据,但
每天收集用户点击流数据(每天约400G)时,Oracle开始撑
不住。
有效解决了大规模数据的存储与统计分析的问题,但是
MapReduce程序对于普通分析人员的使用过于复杂和繁琐。
研发Hive,Hive对外提供了类似于SQL语法的HQL语句数
据接口,自动将HQL语句编译转化为MR作业后在Hadoop
上执行,降低了分析人员使用Hadoop进行数据分析的难度。
1.1.5 Hive在Hadoop生态系统中的位置
1.2 系统详解
• 1.2.1 系统架构
• 1.2.2 HiveQL(HQL)
• 1.2.2 HQL to MapReduce Job
• 1.2.3 数据模型
1.2.1 系统架构
用户接口:Hive提供了三种用户接
口:1)命令行方式(CLI);2)浏
览器方式(HWI);3)客户端方式。
其中客户端即是使用JDBC/ODBC驱动
通过Thrift server,远程操作Hive。
驱动模块(driver):Hive的核心
模块,包括编译器、优化器、执行
器等,负责把HQL语句转换成一系列
MapReduce作业。
元数据存储模块(Metastor
文档评论(0)