- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大数据技术原理及应用
大数据处理架构—Hadoop简介
Hadoop 项目包括了很多子项目,结构如下图
Common
原名:Core,包含 HDFS, MapReduce 和其他公共项目,从 Hadoop 0.21 版本后,HDFS 和
MapReduce 分离出去,其余部分内容构成Hadoop Common 。Common 为其他子项目提供支
持的常用工具,主要包括文件系统、RPC(Remote procedure call) 和串行化库。
Avro
Avro 是用于数据序列化的系统。它提供了丰富的数据结构类型、快速可压缩的二进制数据
格式、存储持久性数据的文件集、远程调用RPC 的功能和简单的动态语言集成功能。其中,
代码生成器既不需要读写文件数据,也不需要使用或实现 RPC 协议,它只是一个可选的对
静态类型语言的实现。Avro 系统依赖于模式 (Schema ),Avro 数据的读和写是在模式之下完
成的。这样就可以减少写入数据的开销,提高序列化的速度并缩减其大小。
Avro 可以将数据结构或对象转化成便于存储和传输的格式,节约数据存储空间和网络传输
带宽,Hadoop 的其他子项目(如HBase 和Hive)的客户端和服务端之间的数据传输。
HDFS
HDFS:是一个分布式文件系统,为Hadoop 项目两大核心之一,是Google file system (GFS )
的开源实现。由于 HDFS 具有高容错性(fault-tolerant)的特点,所以可以设计部署在低廉
(low-cost)的硬件上。它可以通过提供高吞吐率(high throughput)来访问应用程序的数据,
适合那些有着超大数据集的应用程序。HDFS 放宽了可移植操作系统接口(POSIX,Portable
Operating System Interface)的要求,这样就可以实现以流的形式访问文件系统中的数据。
MapReduce
Hadoop MapReduce 是针对谷歌MapReduce 的开源实现,它是一种编程模型,用于大规模数
据集(大于1TB)的并行运算。“映射”(map)、“化简”(reduce)等概念和它们的主要思想
都是从函数式编程语言中借来的。它使得编程人员在不了解分布式并行编程的情况下也能方
便地将自己的程序运行在分布式系统上。MapReduce 在执行时先指定一个 map (映射)函
数,把输入键值对映射成一组新的键值对,经过一定的处理后交给 reduce,reduce 对相同
key 下的所有value 进行处理后再输出键值对作为最终的结果。核心思想就是“分而治之”。
HBase
HBase 是一个分布式的、面向列的开源数据库,该技术来源于Google 的论文“Bigtable:一
个结构化数据的分布式存储系统”。如同Bigtable 利用了Google 文件系统(Google File System)
提供的分布式数据存储方式一样,HBase 在Hadoop 之上提供了类似于Bigtable 的能力。HBase
不同于一般的关系数据库,其一,HBase 是一个适合于存储非结构化数据的数据库;其二,
HBase 是基于列而不是基于行的模式。HBase 和Bigtable 使用相同的数据模型。用户将数据
存储在一个表里,一个数据行拥有一个可选择的键和任意数量的列。由于HBase 表示疏松的,
用户可以给行定义各种不同的列。HBase 主要用于需要随机访问、实时读写的大数据。
Hive
Hive 最早是由 Facebook 设计的,是一个建立在Hadoop 基础之上的数据仓库,它提供了一
些用于数据整理、特殊查询和分析存储在Hadoop 文件中的数据集的工具。Hive 提供的是一
种结构化数据的机制,它支持类似于传统RDBMS 中的SQL 语言来帮助那些熟悉SQL 的用户
查询Hadoop 中的数据,该查询语言称为Hive QL 。与此同时,那些传统的MapReduce 编程
人员也可以在Mappe 或Reduce 中通过Hive QL 查询数据。Hive 编译器会把Hive QL 编译成
一组MapReduce 任务,从而方便MapReduce 编程人员进行Hadoop 应用的开发。
Pig
Pig 是一个对大型数据集进行分析和评估的平台。Pig 最突出的优势是它的结构能够经受住高
度并行化的检验,这个特性让它能够处理大型的数据集。目前,Pig 的底层
原创力文档


文档评论(0)