当前位置:
文档之家› 基于Hadoop的大数据计算技术
基于Hadoop的大数据计算技术
2 Hadoop 开源软件
Apache Nutch 是 Hadoop 的源头,该项目始于 2002 年,是 Apache Lucene 的子项目之一。当时的系 统架构尚无法扩展到存储并处理拥有数十亿网页的网 络化数据。Google 于 2003 年在 SOSP 上公开了描述 其分布式文件系统的论文“The Google File System”,
构建在 Hadoop 之上的大规模数据计算 (Big Data Computing) 技术的日趋成熟使得“业务为王”向“数 据为王”转变。如淘宝网的“数据魔方”应用,基于 全网交易数据的分析和挖掘,向用户提供行业动态 热点和市场发展趋势的深度数据服务。大规模数据 处理技术的发展往往超出想象。拿已有 8 亿用户的 Facebook 的为例,大规模数据处理更向着实时化迈 进,其 ETL (Extract,Transform,Load) 延迟从原来 的 24 到 48 小时演进到小于 10 秒,以满足在线和实 时数据分析的需求。可以看出“如果性能不满足需求 就是功能缺失”这样的系统设计指导思想。此外,规 模化的数据如果没有合适的“掘宝工具”是无法体现 其价值的。信息检索、内容挖掘、自然语言理解、数 据可视化、计算广告学、地理信息系统等 领域均采用 Hadoop 技术研究和开发从数据到价值的各类工具, 起到了“海量数据掘宝”的作用。
·技术 / TECHNOLOGY·
科研信息化技术与应用 2012, 3(6): 26–33
基于 Hadoop 的大数据计算技术
查礼
中国科学院计算技术研究所,北京 100190
摘 要: 大数据计算面对的是传统 IT 技术无法处理的数据量超大规模、服务请求高吞吐量和和数据类型异 质多样的挑战。得益于国内外各大互联网公司的实际应用和开源代码贡献,源于 Google 的 Apache Hadoop 软件已成为 PB 量级大数据处理的成熟技术和事实标准。本文介绍了大数据计算系统中存 储和索引两项研究工作,RCFile 和 CCIndex,分别有效解决了大数据计算系统的存储空间问题和 查询性能问题。
为 Nutch 提供了及时的帮助。2004 年,Nutch 的分 布式文件系统 (Nutch Distributed File System,NDFS) 开始开发。同年,Google 在 OSDI 上发表了题为 “MapReduce: Simplified Data Processing on Large Clusters”的论文,受到启发的 Doug Cutting等人开始 实现 MapReduce 计算框架并与 NDFS 结合起来,共 同支持Nutch的主要算法。至 2006 年,它逐渐成为一 套完整而独立的软件,命名为 Hadoop。2008 年初, Hadoop 成为 Apache 的顶级项目,除雅虎外在众多互 联网企业得以应用。
Pig
Chukwa
Hive
MapReduce
HDFS
HBase
Zoo Keeper
列系统,持久化数据存储。 ● MapReduce:分布式数据处理模式和执行环境。 ● HDFS:以块数据为单位存储并具有副本机制
的分布式文件系统。 ● Pig:一种高层 (High Level) 数据流语言和运行
环境,用以检索海量数据集。Pig 运行在 MapReduce 和 HDFS 的集群上。
● HBase:一个分布式列存储数据库。HBase 使 用HDFS作为底层存储,同时支持 MapReduce 的批式 计算和点查询 (随机读取)。
● ZooKeeper:一个分布式高可用的协同服务。 ZooKeeper 提供分布式锁相关的基本服务,用于支持 分布式应用构建。
● Hive[5]:分布式数据仓库。Hive 管理 HDFS 中 存储的数据,并提供基于 SQL 的查询语言 (由运行时 解释引擎转换为 MapReduce 作业) 用以查询数据。
以 Hadoop 为代表的开源软件折射出草根文化。 互联网企业在使用 Hadoop 的同时也根据自身业务需 求,开发出相关的软件和工具,不断增强 Hadoop 软 件功能和壮大 Hadoop 的开发队伍。比如 Facebook 公 司因为其数据分析工程师只熟悉 SQL 语言而不熟悉 MapReduce 编程框架,由此催生 Hive 这样的项目, 其初衷就是实现 SQL 到 MapReduce 的解释执行。 Hive 现在已经演化为数据仓库的实用解决方案。这 从一个侧面反映了软件开放源代码对信息技术行业的 巨大推动作用。另一方面,只要有意愿参与开源软件 开发,任何一名程序员都有可能成为圈内公认的“大 牛”,得到技术爱好者的钦佩。
● Chukwa:分布式数据收集和分析系统,用 于监控大规模分布式系统。Chukwa 基于 HDFS 和 MapReduce 来生成报告。
3 Hadoop 与大数据计算的关系
Core
Avno
ห้องสมุดไป่ตู้
图 3 Hadoop 各组成部分之间的关系示意图
Hadoop 软件是大规模数据处理的实用平台和工 具。Hadoop 作为 Google 系统的开源实现已经在互联
MapReduce 计算框架实现了由 Google 工程师提 出的 MapReduce 编程模型,其原理如图 2 所示。
当一个 MapReduce 作业提交给 Hadoop 集群时,
HDFS Architecture
Metadata ops Namenode
Metadata (Name, replicas, ...): /home/foo/data, 3, ...
28
查礼: 基于 Hadoop 的大数据计算技术
网领域得以广泛的应用。在国外,雅虎、Facebook、 Amazon、IBM 等都在使用 Hadoop 平台;在国内,百 度、中国移动、淘宝网、腾讯、网易、金山等公司也 都开始使用 Hadoop 平台。如雅虎使用 4 000节点的集 群运行 Hadoop,支持广告系统和 Web 搜索的研究; Facebook 使用 1 000 节点的集群运行 Hadoop,存储 的数据,进行搜索日志分析 和网页数据挖掘工作;中国移动研究院基于 Hadoop 开发了“大云”(BigCloud) 系统,不但用于相关数据 分析,还对外提供服务;淘宝网的 Hadoop 系统用于 存储并处理电子商务的交易相关数据。Hadoop 核心 以及外围工具和服务为快速构建互联网量级的数据处 理提供了可直接使用的工具集。
关键词: 大数据;Hadoop;行列混合式数据存储;互补式聚簇索引;云计算
Hadoop-Based Big Data Computing Technologies
Zha Li Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100190, China Abstract: Volume, Variety and Velocity are the three challenges must faced for the big data computing, which
cannot be dealt with by traditional IT technologies. Benefit from numerous Internet companies’ practical applications and continuous code contribution, the Apache Hadoop software, that was stemed from google’s GFS and MapReduce, has become a mature software stack and the de facto standard of PB scale data processing. This paper introduces structuring data storage and index construction research of big data computing system, RCFile and CCIndex respectively, which are effective solutions to storage space and query performance issues. Keywords: Big Data; Hadoop; RCFile; Complementary clustering index; Cloud computing
Hadoop 核心由两部分组成:HDFS (Hadoop Distributed File System) 和 MapReduce,其中 HDFS 是 Google GFS 的开源版本,一个高可靠的分布式文件 系统。它能够提供高吞吐率的数据访问能力,适合 存储海量 (PB 级) 数据,其实现原理如图 1 所示。
虽然 Hadoop 有名的是 MapReduce 及其分布式文 件系统 HDFS,但还有其他子项目支持开发的工具提 供配套和补充性服务。这些子项目之间的关系如图 3 所示。
● Core:一系列分布式文件系统和通用 I/O 的组 件和接口 (序列化、Java RPC 和持久化数据结构)。
● Avro:一种提供高效、跨语言 RPC 的数据序
Client Read Datanodes
Block ops
Datanodes
Replication
Blocks
Rack 1
Write Client
Rack 2
图 1 HDFS组成及实现原理
27
input HDFS split 0
split 1
split 2
科研信息化技术与应用,2012, 3 (6)
基金项目:国家高技术研究发展计划 (863计划) (2011AA01A203) 26
查礼: 基于 Hadoop 的大数据计算技术