欢迎光临
免费的PDF电子书下载网站

大数据技术与应用 PDF下载

编辑推荐

 ;  ;  ;1.本书围绕大数据及其相关技术这一主题,采用深入浅出的叙述方式,简明扼要地阐述了大数据和云计算等新兴技术的基本理论、知识内容、关键技术和实际应用,为广大高校师生提供大数据方向计算机公共基础课程的基础知识和大数据的应用方法、案例剖析。2.在编写原则上,本书既维持了大数据相关信息技术本身应有的系统性和理论性,又着重体现应用性与针对性。本书可以用于启发式教学模式,同时适合混合式教学模式,且便于学生理解和掌握。IT产业在过去50多年的发展历程中,已经经历过几轮技术浪潮。如今,新的一股浪潮正在迅速朝我们涌来,并将触及IT行业的许多方面,这就是大数据浪潮。其将比之前发生过的浪潮更大、触及面更广,并将对人们的工作和生活产生新的影响。因此,在面对大数据之际,各个专业的在校大学生迫切需要充实自己原有的IT知识结构,掌握两个“本领”,一是掌握大数据基本技术与应用,使大数据为我们所用的本领;二是掌握挖掘数据之间隐藏的规律与关系,使大数据更好地服务于社会发展的本领。 ;

内容简介

本书是将大数据这一计算机前沿科学和基本应用有机结合的典范教材,全面介绍大数据和相关的基础知识,由浅入深地剖析大数据的分析处理方法和技术手段,突出介绍大数据*的发展趋势和技术成果。 本书的一大亮点是每章中都使用图表对大数据与传统数据处理方式进行对比。另外,本书注重启发式的学习策略,便于读者理解和掌握。全书每章均包括实际应用案例与关键词注释,方便读者查阅和自学,同时配备习题和参考答案。 本书体系完整、内容丰富、注重应用、前瞻性强、适用性好,并有开放式的课程教学网站(http://www.cmu.edu.cn/computer)提供技术支持。 本书既可以作为普通高校大数据技术的基础教材,也可以作为职业培训教育及相关技术人员的参考用书。

作者简介

暂无

大数据技术与应用 PDF下载

目录

 ;

目录

前言Ⅰ

 ;

第1章大数据概论

 ;

1.1大数据技术简介

 ;

1.1.1IT产业的发展简史

 ;

1.1.2大数据的主要来源

 ;

1.1.3数据生成的3种主要方式

 ;

1.1.4大数据的特点

 ;

1.1.5大数据的处理流程

 ;

1.1.6大数据的数据格式

 ;

1.1.7大数据的基本特征

 ;

1.1.8大数据的应用领域

 ;

1.2大数据的技术架构

 ;

1.3大数据的整体技术

 ;

1.4大数据分析的4种典型工具简介

 ;

1.5大数据未来发展趋势

 ;

1.5.1数据资源化

 ;

1.5.2数据科学和数据联盟的成立

 ;

1.5.3大数据隐私和安全问题

 ;

1.5.4开源软件成为推动大数据发展的动力

 ;

1.5.5大数据在多方位改善人们的生活

 ;

本章小结

 ;

习题1

 ;

第2章大数据采集及预处理

 ;

2.1数据采集简介

 ;

2.1.1数据采集

 ;

2.1.2数据采集的数据来源

 ;

2.1.3数据采集的技术方法

 ;

2.2大数据的预处理

 ;

2.3大数据采集及预处理的主要工具

 ;

本章小结

 ;

习题2

 ;

第3章大数据分析概论

 ;

3.1大数据分析简介

 ;

3.1.1大数据分析

 ;

3.1.2大数据分析的基本方法

 ;

3.1.3大数据处理流程

 ;

3.2大数据分析的主要技术

 ;

3.2.1深度学习

 ;

3.2.2知识计算

 ;

3.3大数据分析处理系统简介

 ;

3.3.1批量数据及处理系统

 ;

3.3.2流式数据及处理系统

 ;

3.3.3交互式数据及处理系统

 ;

3.3.4图数据及处理系统

 ;

3.4大数据分析的应用

 ;

本章小结

 ;

习题3

 ;

第4章大数据可视化

 ;

4.1大数据可视化简介

 ;

4.2大数据可视化工具Tableau

 ;

本章小结

 ;

习题4

 ;

第5章Hadoop概论

 ;

5.1Hadoop简介

 ;

5.1.1Hadoop简史

 ;

5.1.2Hadoop应用和发展趋势

 ;

5.2Hadoop的架构与组成

 ;

5.2.1Hadoop架构介绍

 ;

5.2.2Hadoop组成模块

 ;

5.3Hadoop应用分析

 ;

本章小结

 ;

习题5

 ;

第6章HDFS和Common概论

 ;

6.1HDFS简介

 ;

6.1.1HDFS的相关概念

 ;

6.1.2HDFS特性

 ;

6.1.3HDFS体系结构

 ;

6.1.4HDFS的工作原理

 ;

6.1.5HDFS的相关技术

 ;

6.2Common简介

 ;

本章小结

 ;

习题6

 ;

第7章MapReduce概论

 ;

7.1MapReduce简介

 ;

7.1.1MapReduce

 ;

7.1.2MapReduce功能、特征和局限性

 ;

7.2Map和Reduce任务

 ;

7.3MapReduce架构和工作流程

 ;

7.3.1MapReduce的架构

 ;

7.3.2MapReduce的工作流程

 ;

本章小结

 ;

习题7

 ;

第8章NoSQL概论

 ;

8.1NoSQL简介

 ;

8.1.1NoSQL的含义

 ;

8.1.2NoSQL的产生

 ;

8.1.3NoSQL的特点

 ;

8.2NoSQL技术基础

 ;

8.2.1大数据的一致性策略

 ;

8.2.2大数据的分区与放置策略

 ;

8.2.3大数据的复制与容错技术

 ;

8.2.4大数据的缓存技术

 ;

8.3NoSQL的类型

 ;

8.3.1键值存储

 ;

8.3.2列存储

 ;

8.3.3面向文档存储

 

8.3.4图形存储

 

8.4典型的NoSQL工具

 

8.4.1Redis

 

8.4.2Bigtable

 

8.4.3CouchDB

 

本章小结

 

习题8

 

第9章Spark概论

 

9.1Spark平台

 

9.1.1Spark简介

 

9.1.2Spark发展

 

9.1.3Scala语言

 

9.2Spark与Hadoop

 

9.2.1Hadoop的局限与不足

 

9.2.2Spark的优点

 

9.2.3Spark速度比Hadoop快的原因分解

 

9.3Spark处理框架及其生态系统

 

9.3.1底层的Cluster Manager和Data Manager

 

9.3.2中间层的Spark Runtime

 

9.3.3高层的应用模块

 

9.4Spark的应用

 

9.4.1Spark的应用场景

 

9.4.2应用Spark的成功案例

 

本章小结

 

习题9

 

第10章云计算与大数据

 

10.1云计算简介

 

10.1.1云计算

 

10.1.2云计算与大数据的关系

 

10.1.3云计算基本特征

 

10.1.4云计算服务模式

 

10.2云计算核心技术

 

10.2.1虚拟化技术

 

10.2.2虚拟化软件及应用

 

10.2.3资源池化技术

 

10.2.4云计算部署模式

 

10.3云计算应用案例

 

本章小结

 

习题10

 

第11章典型大数据解决方案

 

11.1Intel大数据

 

11.1.1Intel大数据解决方案

 

11.1.2Intel大数据相关案例

 

11.2百度大数据

 

11.2.1百度大数据引擎

 

11.2.2百度大数据 平台

 

11.2.3相关应用

 

11.2.4百度预测的使用方法

 

11.3腾讯大数据

 

11.3.1腾讯大数据解决方案

 

11.3.2相关实例

 

本章小结

 

习题11

 

附录A习题答案

 

参考文献

 

媒体评论

评论

前沿

前言

IT产业在其发展历程中,经历过几轮技术浪潮。如今,大数据浪潮正在迅速地朝人们涌来,并将触及到各个行业和生活的许多方面。大数据浪潮将比之前发生过的浪潮更大、触及面更广,给人们的工作和生活带来的变化和影响更深刻。大数据的应用激发了一场思想风暴,也悄然地改变了人们的生活方式和思维习惯。大数据正以前所未有的速度颠覆人们探索世界的方法,引起工业、商业、医学、军事等领域的深刻变革。因此,在当前大数据浪潮的猛烈冲击下,各个专业的高校大学生迫切需要充实和完善自己原有的IT知识结构,掌握两个“本领”: 一是掌握大数据基本技术与应用,使大数据能够为我所用; 二是挖掘数据之间隐藏的规律与关系,使大数据更好地服务于社会发展。为此,本书围绕大数据及其相关技术这一主题,采用深入浅出的叙述方式,简明扼要地阐述大数据及其相关最新技术的基本理论、关键技术和实际应用,目的是让广大师生以计算机公共基础课程为知识载体,对大数据在各个领域的应用方法和相关知识有所了解。将大数据相关课程纳入大学基础教育中,必将引领学生更好地把握时代科学发展的脉搏和历史赋予的机遇。在编写原则上,本书既维持了大数据技术本身应有的系统性和理论性,又着重体现其在各个领域内的应用性与针对性。本书的一大亮点是每章都使用图表对大数据与传统数据处理方式进行对比。另外,本书注重启发式的学习策略,便于读者理解和掌握。全书每章均包括实际应用案例与关键词注释,方便读者查阅和自学,同时配备习题和参考答案。全书在内容上共分成11章: 第1章大数据概论由娄岩编写,第2章大数据采集及预处理由郑琳琳编写,第3章大数据分析概论由刘尚辉编写,第4章大数据可视化由李静编写,第5章Hadoop概论由马瑾编写,第6章HDFS和Common概论由丁林编写,第7章MapReduce概论由徐东雨编写,第8章NoSQL概论由曹阳编写,第9章Spark概论由庞东兴编写,第10章云计算与大数据由张志常编写,第11章典型大数据解决方案由霍妍编写。清华大学出版社对本书的出版做了精心策划,充分论证,在此向所有参加编写的同事们及帮助和指导过我们工作的朋友们表示衷心的感谢!由于编者水平有限,加之时间仓促,书中难免存在疏漏之处,恳请广大读者批评斧正。

娄岩2016年9月

免费在线读

第5章Hadoop概论导学
内容与要求

本章主要介绍Hadoop的应用现状及其架构。Hadoop允许用户在集群服务器上使用简单的编程模型对大数据集进行分布式处理。“Hadoop简介”一节中介绍Hadoop的起源及功能与优势,要求了解Hadoop优势及应用现状。“Hadoop架构及组成”一节中介绍Hadoop的结构,要求了解其主要核心模块HDFS和MapReduce,并了解其他模块的功能。“Hadoop应用分析”一节中通过对数据排序来了解Hadoop的工作机制。
重点、难点
本章重点是了解Hadoop的功能与特点,难点是了解各Hadoop核心模块的功能。用户使用Hadoop开发分布式程序,可以在不了解分布式底层细节的情况下,充分利用集群的作用高速运算和存储。绝大多数从事大数据处理的行业和公司都借助Hadoop平台进行产品开发,并对Hadoop本身的功能进行拓展和演化,极大地丰富了Hadoop的性能。5.1Hadoop简介Hadoop是一个由Apache基金会所开发的分布式系统基础架构。Hadoop是以分布式文件系统(Hadoop Distributed File System,HDFS)和MapReduce等模块为核心,为用户提供细节透明的系统底层分布式基础架构。用户可以利用Hadoop轻松地组织计算机资源,搭建自己的分布式计算平台,并且可以充分地利用集群的计算和存储能力,完成海量数据的处理。5.1.1Hadoop简史1. Hadoop起源
Hadoop这个名称是由它的创始人Doug Cutting命名的,来源于Doug Cutting儿子的棕黄色大象玩具,它的发音是[hdu:p]。Hadoop的图标如图51所示。

图51Hadoop图标

Hadoop起源于2002年Doug Cutting和Mike Cafarella开发的Apache Nutch项目。Nutch项目是一个开源的网络搜索引擎,Doug Cutting主要负责开发的是大范围文本搜索库。随着互联网的飞速发展,Nutch项目组意识到其构架无法扩展到拥有数十亿网页的网络,随后在2003年和2004年Google先后推出了两个支持搜索引擎而开发的软件平台。这两个平台一个是谷歌文件系统(Google File System,GFS),用于存储不同设备所产生的海量数据; 另一个是MapReduce,它运行在GFS之上,负责分布式大规模数据的计算。基于这两个平台,在2006年初,Doug Cutting和Mike Cafarella从Nutch项目转移出来一个独立的模块,称为Hadoop。截至2016年初,Apache Hadoop版本分为两代。第一代Hadoop称为Hadoop 1.0,第二代Hadoop称为Hadoop 2.0。第一代Hadoop包含三个版本,分别是0.20.x、0.21.x和0.22.x。第二代Hadoop包含两个版本,分别是0.23.x和2.x。其中,第一代Hadoop由一个分布式文件系统HDFS和一个离线计算框架MapReduce组成; 第二代Hadoop则包含一个支持NameNode横向扩展的HDFS,一个资源管理系统Yarn和一个运行在Yarn上的离线计算框架MapReduce。相比之下,Hadoop 2.0功能更加强大、扩展性更好并且能够支持多种计算框架。目前,最新的版本是2016年初发布的Hadoop 2.7.2。Hadoop的版本如表51所示。

表51Hadoop的版本

Hadoop版本版 本 名 称版本号包 含 内 容
第一代Hadoop 1.00.20.x,0.21.x,0.22.xHDFS、MapReduce第二代Hadoop 2.00.23.x,2.xHDFS、MapReduce、Yarn等
2. Hadoop特点Hadoop可以高效地存储并管理海量数据,同时分析这些海量数据以获取更多有价值的信息。Hadoop中的HDFS可以提高读写速度和扩大存储容量,因为HDFS具有优越的数据管理能力,并且是基于Java语言开发的,具有容错性高的特点,所以Hadoop可以部署在低廉的计算机集群中。Hadoop中的MapReduce可以整合分布式文件系统上的数据,保证快速地分析处理数据,与此同时还采用存储冗余数据来保证数据的安全性。如早期使用Hadoop是在Internet上对搜索关键字进行内容分类。要对一个10TB的巨型文件进行文本搜索,使用传统的系统将需要耗费很长的时间。但是Hadoop在设计时就考虑到这些技术瓶颈问题,采用并行执行机制,因此能大大地提高效率。5.1.2Hadoop应用和发展趋势Hadoop的应用获得了学术界的广泛关注和研究,已经从互联网领域向电信、电子商务、银行、生物制药等领域拓展。在短短的几年中,Hadoop已经成为迄今为止最为成功、最广泛使用的大数据处理主流技术和系统平台,在各个行业尤其是互联网行业获得了广泛的应用。1. 国外Hadoop的应用现状1) FacebookFacebook使用Hadoop存储内部日志与多维数据,并以此作为报告、分析和机器学习的数据源。目前Hadoop集群的机器节点超过1400台,共计11200个核心CPU,超过15PB原始存储容量,每个商用机器节点配置了8核CPU、12TB数据存储,主要使用Streaming API和Java API编程接口。Facebook同时在Hadoop基础上建立了一个名为Hive的高级数据仓库框架,Hive已经正式成为基于Hadoop的Apache一级项目。2) YahooYahoo是Hadoop的最大支持者,Yahoo的Hadoop机器总节点数目超过42000个,有超过10万的核心CPU在运行Hadoop。最大的一个单节点集群有4500个节点,每个节点配置了4核CPU,4×1TB磁盘。总的集群存储容量大于350PB,每月提交的作业数目超过1000万个。3) eBay单集群超过532节点集群,单节点8核心CPU,容量超过5.3PB存储。大量使用MapReduce的Java接口、Pig、Hive来处理大规模的数据,还使用HBase进行搜索优化和研究。(Pig、Hive、HBase参见5.2.2节)4) IBMIBM蓝云也利用Hadoop来构建云基础设施。IBM蓝云使用的技术包括Xen和PowerVM虚拟化的Linux操作系统映像及Hadoop并行工作量调度,并发布了自己的Hadoop发行版及大数据解决方案。2. 国内Hadoop的应用现状1) 百度百度在2006年就开始关注Hadoop并开始调研和使用,其总的集群规模达到数十个,单集群超过2800台机器节点,Hadoop机器总数有上万台机器,总的存储容量超过100PB,已经使用的超过74PB,每天提交的作业数目有数千个之多,每天的输入数据量已经超过7500TB,输出超过1700TB。2) 阿里巴巴阿里巴巴的Hadoop集群大约有3200台服务器,大约30000物理CPU核心,总内存100TB,总的存储容量超过60PB,每天的作业数目超过150000个,Hivequery查询大于6000个,扫描数据量约为7.5PB,扫描文件数约为4亿,存储利用率大约为80%,CPU利用率平均为65%,峰值可以达到80%。阿里巴巴的Hadoop集群拥有150个用户组、4500个集群用户,为淘宝、天猫、一淘、聚划算、CBU、支付宝提供底层的基础计算和存储服务。3) 腾讯腾讯也是使用Hadoop最早的中国互联网公司之一,腾讯的Hadoop集群机器总量超过5000台,最大单集群约为2000个节点,并利用HadoopHive构建了自己的数据仓库系统。腾讯的Hadoop为腾讯各个产品线提供基础云计算和云存储服务。4) 京东京东从2013年起,根据自身业务高速发展的需求,自主研发了京东HadoopNameNode Cluster解决方案。该方案主要为了解决两个瓶颈问题: 一个是随着存储文件的增加,机器的内存会逐渐地增加,已经达到了内存的瓶颈; 另一个是随着集群规模的扩大,要求快速响应客户端的请求,原有系统的性能出现了瓶颈。该方案以ClouderaCDH3作为基础,并在其上进行了大量的改造和自主研发。3. Hadoop的发展趋势随着互联网的发展,新的业务模式还将不断涌现。在以后相当长一段时间内,Hadoop系统将继续保持其在大数据处理领域的主流技术和平台的地位,同时其他种种新的系统也将逐步与Hadoop系统相互融合和共存。从数据存储的角度看,前景是乐观的。用HDFS进行海量文件的存储,具有很高的稳定性。在Hadoop生态系统中,使用HBase进行结构化数据存储,其适用范围广,可扩展性强,技术比较成熟,在未来的发展中占有稳定的一席之地。从数据处理的角度看,存在一定问题。MapReduce目前存在问题的本质原因是其擅长处理静态数据,处理海量动态数据时必将造成高延迟。由于MapReduce的模型比较简单,造成后期编程十分困难,一个简单的计数程序也需要编写很多代码。相比之下,Spark的简单高效能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。有关Spark的介绍详见第9章。Hadoop作为大数据的平台和生态系统,已经步入稳步理性增长的阶段。未来,和其他技术一样,面临着自身新陈代谢和周围新技术的挑战,期待未来Hadoop跟上时代的发展,不断地更新改进相关技术,成为处理海量数据的基础平台。5.2Hadoop的架构与组成Hadoop分布式系统基础框架具有创造性和极大的扩展性,用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力高速运算和存储。Hadoop的核心组成部分是HDFS、MapReduce以及Common,其中HDFS提供了海量数据的存储,MapReduce提供了对数据的计算,Common为其他模块提供了一系列文件系统和通用文件包。5.2.1Hadoop架构介绍Hadoop主要部分的架构如图52所示。Hadoop的核心模块包含HDFS、MapReduce和Common。HDFS是分布式文件系统; MapReduce提供了分布式计算编程框架; Common是Hadoop体系最底层的一个模块,为Hadoop各模块提供基础服务。

图52Hadoop主要部分的架构

对比Hadoop 1.0和Hadoop 2.0,其核心部分变化如图53所示。

图53Hadoop 1.0和Hadoop 2.0核心对比图

其中Hadoop 2.0中的Yarn是在Hadoop 1.0中的MapReduce基础上发展而来的,主要是为了解决Hadoop 1.0扩展性较差且不支持多计算框架而提出的。5.2.2Hadoop组成模块1. HDFS
HDFS是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。HDFS简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。关于HDFS的详细介绍参见第6章。2. MapReduceMapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。MapReduce将应用划分为Map和Reduce两个步骤,其中Map对数据集上的独立元素进行指定的操作,生成键值对形式的中间结果。Reduce则对中间结果中相同“键”的所有“值”进行规约,以得到最终结果。MapReduce这样的功能划分,非常适合在大量计算机组成的分布式并行环境里进行数据处理。MapReduce以JobTracker节点为主,分配工作以及负责和用户程序通信。关于MapReduce的详细介绍参见第7章。3. Common从Hadoop 0.20版本开始,Hadoop Core模块更名为Common。Common是Hadoop的通用工具,用来支持其他的Hadoop模块。实际上Common提供了一系列文件系统和通用I/O的文件包,这些文件包供HDFS和MapReduce公用。它主要包括系统配置工具、远程过程调用、序列化机制和抽象文件系统等。它们为在廉价的硬件上搭建云计算环境提供基本的服务,并且为运行在该平台上的软件开发提供了所需的API。其他Hadoop模块都是在Common的基础上发展起来的。4. YarnYarn是Apache新引入的子模块,与MapReduce和HDFS并列。由于在老的框架中,作业跟踪器负责分配计算任务并跟踪任务进度,要一直监控作业下的任务的运行状况,承担的任务量过大,所以引入Yarn来解决这个问题。Yarn的基本设计思想是将MapReduce中的JobTracker拆分成了两个独立的服务: 一个全局的资源管理器和每个应用程序特有的,其中资源管理器负责整个系统的资源管理和分配,而应用程序管理器则负责单个应用程序的管理。5. HiveHive最早是由Facebook设计,基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。Hive没有专门的数据存储格式,也没有为数据建立索引,用户可以非常自由的组织Hive中的表,只需要在创建表时告知Hive数据中的列分隔符和行分隔符,Hive就可以解析数据。Hive中所有的数据都存储在HDFS中,其本质是将SQL转换为MapReduce程序完成查询。Hive与RDBMS(Rational DataBase Management System,关系数据库管理系统)对比,如表52所示。

表52Hive与RDBMS对比

比 较 名 称HiveRDBMS查询实时性差实时性强计算模型MapReduce自己设计存储文件系统HDFS服务器本地处理数据规模大小索引无有
6. HBaseHBase即HadoopDatabase,是一个分布式的、面向列的开源数据库。HBase不同于一般的关系数据库,其一,HBase是一个适合于存储非结构化数据的数据库; 其二,HBase是基于列而不是基于行的模式。用户将数据存储在一个表里,一个数据行拥有一个可选择的键和任意数量的列。由于HBase表示疏松的数据,用户可以给行定义各种不同的列。HBase主要用于需要随机访问、实时读写的大数据。HBase与Hive的相同点是HBase与Hive都是架构在Hadoop之上的,都用Hadoop作为底层存储。其区别与联系,如表53所示。

表53HBase与Hive对比

比较名称HBaseHive
用途弥补Hadoop的实时操作减少并行计算编写工作的批处理系统检索方式适用于索引访问适用于全表扫描存储物理表纯逻辑表功能HBase只负责组织文件。Hive既要存储文件又需要计算框架执行效率HBase执行效率高Hive执行效率低
7. AvroAvro由Doug Cutting牵头开发的,是一个数据序列化系统。类似于其他序列化机制,Avro可以将数据结构或者对象转换成便于存储和传输的格式,其设计目标是用于支持数据密集型应用,适合大规模数据的存储与交换。Avro提供了丰富的数据结构类型、快速可压缩的二进制数据格式、存储持久性数据的文件集、远程调用RPC和简单动态语言集成等功能。8. ChukwaChukwa是开源的数据收集系统,用于监控和分析大型分布式系统的数据。Chukwa是在Hadoop的HDFS和MapReduce框架之上搭建的,它同时继承了Hadoop的可扩展性和健壮性。Chukwa通过HDFS来存储数据,并依赖于MapReduce任务处理数据。Chukwa中也附带了灵活且强大的工具,用于显示、监视和分析数据结果,以便更好地利用所收集的数据。9. PigPig是一个对大型数据集进行分析和评估的平台。Pig最突出的优势是它的结构能够经受住高度并行化的检验,这个特性让它能够处理大型的数据集。目前,Pig的底层由一个编译器组成,它在运行的时候会产生一些MapReduce程序序列,Pig的语言层由一种叫做Pig Latin的正文型语言组成。5.3Hadoop应用分析Hadoop采用分而治之的计算模型,以对海量数据排序为例,对海量数据进行排序时可以参照编程快速排序法的思想。快速排序法的基本思想是在数列中找出适当的轴心,然后将数列一分为二,分别对左边与右边数列进行排序。1. 传统的数据排序方式传统的数据排序就是使一串记录按照其中的某个或某些关键字的大小递增或递减的排列起来的操作。排序算法是如何使得记录按照要求排列的方法,排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方面。一个优秀的算法可以节省大量的资源。在各个领域中考虑到数据的各种限制和规范,要得到一个符合实际的优秀算法,得经过大量的推理和分析。下面以快速排序为例,对数据集合a(n)从小到大的排序步骤如下。(1) 首先设定一个待排序的元素a(x)。(2) 遍历要排序的数据集合a(n),经过一轮划分排序后在a(x)左边的元素值都小于它,在a(x)右边的元素值都大于它。(3) 再按此方法对a(x)两侧的这两部分数据分别再次进行快速排序,整个排序过程可以递归进行,以此达到整个数据集合变成有序序列。2. Hadoop的数据排序方式设想如果将数据a(n)分割成M个部分,将这M个部分送去MapReduce进行计算,自动排序,最后输出内部有序的文件,再把这些文件首尾相连合并成一个文件,即可完成排序,操作具体步骤如表54所示。

表54大数据排序步骤

序号步骤名称具 体 操 作
1抽样对等待排序的海量数据进行抽样2设置断点对抽样数据进行排序,产生断点,以便进行数据分割3Map对输入的数据计算所处断点位置并将数据发给对应ID的Reduce4ReduceReduce将获得的数据进行输出
本章小结短短几年间,Hadoop从一种边缘技术成为事实上的企业大数据的标准,Hadoop几乎成为大数据的代名词。作为一种用于存储和分析大数据开源软件平台,Hadoop可处理分布在多个服务器中的数据,尤其适合处理来自手机、电子邮件、社交媒体、传感器网络和其他不同渠道的多样化、大负荷的数据。本章对Hadoop的起源、功能与优势、应用现状和发展趋势进行了简要的介绍,重点讲解了Hadoop的各个功能模块。通过本章的学习,读者将会打下一个基本的Hadoop理论基础。习题5一、 填空题
1. Hadoop是Apache软件基金会旗下的一个。2. 截至2016年初,Apache Hadoop版本分为代。3. HDFS是。4. Pig是。5. HBase是。6. Avro可以将数据结构或者对象转换成便于的格式,其设计目标是用于支持数据密集型应用,适合大规模数据的存储与交换。7. Chukwa是开源的,用于监控和分析大型分布式系统的数据。8. Pig的底层由一个编译器组成,它在运行的时候会产生一些程序序列。二、 简答题1. 简述Hadoop第一代和第二代的区别。2. 以表格形式阐述HBase与Hive的异同点。3. 简述Hadoop在数据处理方面存在的问题。

大数据技术与应用 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:大数据技术与应用