《深入理解大数据:大数据处理与编程实践》一一导读

简介:

前 言

2012年以来,大数据(Big Data)技术在全世界范围内迅猛发展,在全球学术界、工业界和各国政府得到了高度关注和重视,掀起了一场可与20世纪90年代的信息高速公路相提并论的发展热潮。
大数据技术如此重要,已经被我国政府提升到国家重大发展战略的高度。2014年我国政府工作报告中指出:“设立新兴产业创业创新平台,在新一代移动通信、集成电路、大数据、先进制造、新能源、新材料等方面赶超先进,引领未来产业发展”。由此可见,大数据已经被我国政府列为推动国家科技创新和引领经济结构优化升级、赶超国际先进水平、引领国家未来产业发展的战略性计划。两会期间,CCTV中央电视台的新闻报道开创性地引入了大数据新闻报道手段,以大数据说话,高频率使用大数据报道两会重大新闻,引起了全国民众的普遍关注和兴趣。
大数据也同样成为各发达国家政府高度关注的战略性高科技技术和产业。2012年3月,美国总统奥巴马签署并发布了一个“大数据研究发展创新计划”(Big Data R&D Initiative),投资2亿美元启动大数据技术和工具研发,这是继1993年美国宣布“信息高速公路”计划后的又一次重大科技发展部署。美国政府认为大数据是“未来的新石油”,将大数据研究上升为国家意志,认为大数据将对未来的科技与经济发展带来重大影响,一个国家拥有数据的规模和运用数据的能力将成为综合国力的重要组成部分,对数据的占有和控制也将成为国家间和企业间新的争夺焦点。在随后的近两年里,英国、法国、德国、日本等发达国家政府都纷纷推出了相应的大数据发展战略计划。
《大数据时代》一书的作者、英国牛津大学教授、被誉为 “大数据时代预言家”的维克托·迈尔-舍恩伯格认为:“大数据开启了一次重大的时代转型”,认为大数据将带来巨大的变革,改变我们的生活、工作和思维方式,改变我们的商业模式,影响我们的经济、政治、科技和社会等各个层面。他认为,大数据将成为企业的核心竞争力,成为一种商业资本,成为企业的重要资产。
大数据技术最大的推动力来自于行业应用需求。过去几年来,随着计算机和信息技术的迅猛发展和普及应用,行业应用系统的规模迅速扩大,行业应用所产生的数据量呈爆炸性增长。动辄达到PB级规模的行业/企业大数据已经远远超出了现有传统的计算技术和信息系统的处理能力。另一方面,人们发现,大数据在带来巨大技术挑战的同时,也带来巨大的商业价值,带来巨大的技术创新与商业机遇。大数据巨大的应用需求和隐含的深度价值极大地推动了大数据技术的快速发展,促进了大数据所涉及到的各个技术层面和系统平台方面的长足发展。
在大数据处理的众多技术和系统中,起到开创性作用、最为主流的当数Google公司在2003年发明的MapReduce技术以及随后在2007年由开源组织Apache推出的开源的Hadoop MapReduce技术和系统。目前,Hadoop已经成为全世界最为成功和最广为接受使用的主流大数据处理技术平台,在国内外几乎所有知名IT和互联网企业中都得到推广使用,成为了事实上的大数据处理工业标准。
除了知名IT和互联网企业外,大数据技术的迅猛发展与行业应用需求的快速增长,也推动了其他各个行业对相关大数据处理与应用技术的高度关注。近年来,国内外越来越多的典型行业开始制定和启动了行业大数据处理应用开发计划,期冀使用大数据处理技术管理和分析企业大数据。然而,目前国内外的实际状况是,由于MapReduce等相关大数据处理技术发展较新,除了知名IT和互联网企业能娴熟运用外,目前大多数应用行业普遍不熟悉这方面的技术,即使很多中小规模的软件公司也不掌握这方面的开发技术,大多刚刚开始关注和学习这方面的技术。同时,由于国内外绝大多数高校对大数据技术的关注较晚,有关大数据方面的课程教学和人才培养工作未能跟上技术市场的变化和需求。这些因素使得目前技术市场上大数据技术人才严重短缺。
幸运的是,本团队早在2010年开始即开始关注大数据处理技术,并开展了系统的大数据技术教学和研究工作。2009年底,Google中国公司大学合作部在清华大学举行了MapReduce海量数据处理技术培训班。培训班结束后,在Google中国公司大学合作部精品课程计划资助下,由本人负责在南京大学建设了MapReduce大规模数据并行处理技术课程,并自2011年开始为南京大学计算机系研究生开设了该课程,使我们成为国内最早系统性从事MapReduce大规模数据并行处理技术教学的院校之一。课程开设后取得非常好的教学效果。课程同学组队参加了2012年由中国云计算产业联盟主办的首届“中国云计算·移动互联网创新大赛”,夺得4个大数据赛题全部17个奖项中的8项大奖,获得奖金20万元;在2013年由中国计算机学会主办的“第一届中国大数据技术创新大赛”上夺得大赛唯一的一项一等奖,获得奖金10万元。本书的很多章节内容正是在总结所开设课程内容、上述大赛获奖算法以及部分同学的优秀课程设计内容基础上组织形成。
为了满足专业技术人员学习MapReduce相关技术的需求,近几年来,国内陆续推出了一些有关Hadoop MapReduce的编程技术书籍,为计算机专业人员学习和掌握Hadoop编程技术提供了很有价值的学习资料。然而,目前出版的这些书籍,大多是参照Hadoop官方技术文档和资料整理编写而成,主要集中在对Hadoop编程接口以及简单编程示例的介绍,对MapReduce技术背后系统的工作原理、编程模型、设计思想以及编程和算法设计方法介绍不够深入和系统,使得这些编程手册性的技术书籍不太适宜作为高校课程教学或者初学者自学时的教材使用。
根据近5年来我们开展Hadoop MapReduce大数据并行处理技术课程教学中所发现的问题和总结出的经验,相对而言,Hadoop MapReduce的基本工作原理、编程接口和简单示例程序都比较容易学习和理解。但是,学习者和程序员普遍感到困惑的是,针对稍微复杂一些的实际的大数据处理和算法设计问题(如设计实现一个机器学习和数据分析算法),由于 MapReduce并行程序设计与传统的程序设计技术方法有较大的不同,如何依据数据本身的特点以及MapReduce并行程序设计思想和并行算法设计方法,对这些实际问题分析并理清其MapReduce程序或算法设计思路、并最终完成编程实现,对此大家普遍感到有一定的困难和障碍。另一方面,在我们接触到的一些对Hadoop已有一定编程经验、希望对开源Hadoop系统的优化增强功能和深度技术做进一步了解的技术人员中,会感到现有的书籍资料中大多找不到这方面的技术内容。
为此,我们在总结多年来MapReduce并行处理技术课程教学经验和成果的基础上,与业界著名企业Intel公司的大数据技术和产品开发团队和资深工程师联合,以学术界的教学成果与业界高水平系统研发经验完美结合,在理论联系实际的基础上,在基础理论原理、实际算法设计方法以及业界深度技术三个层面上,精心组织材料编写完成了本书。
全书从Hadoop MapReduce技术与系统的基本原理剖析着手,在系统介绍基础理论原理、设计思想和编程模型的基础上,介绍编程框架与接口,然后着重系统化地介绍MapReduce并行算法设计与编程技术,由浅入深,循序渐进,较为全面地介绍和覆盖了基本MapReduce算法设计、高级MapReduce编程技术以及一系列较为复杂的机器学习和数据挖掘并行化算法,并介绍了来自Intel Hadoop系统产品的一系列增强功能及其深度的技术剖析;最后,为了给读者进一步介绍一些综合性和实战性的算法设计和编程案例,本书收集了一系列实战性的大数据处理和算法设计问题,这些问题来自本课程同学参加的全国性大数据大赛中的获奖算法、本课程中的优秀课程设计以及来自本团队的科研课题及业界实际的大数据应用实战案例。
与市场上现有的一些同类书籍相比,本书主要有三大特点:第一个特点是,对MapReduce的基本工作原理和编程模型等基础理论原理有较为系统深入的阐述,让读者对MapReduce技术有一个理论上的深入理解,为后期学习和合理运用算法设计方法打下一个较为坚实的理论基础;第二个特点是,对于那些看懂了基本原理和接口、却苦于难以下手去具体设计和编程实现实际大处理处理算法问题的读者来说,本书会重点给他们讲解MapReduce并行程序和算法设计思路和方法,重点介绍和展示如何根据大数据问题本身的特点和MapReduce并行程序设计特点,将一个大数据问题或算法转化为MapReduce并行化算法设计思路和实现方法,然后再辅以详细的程序实现代码加以分析介绍;第三个特点是,对于那些有较好基础、希望了解更深入技术的读者来说,本书引入了开源技术书籍资料中所没有的来自业界产品的增强功能和深度技术内容。

目录

第1章 大数据处理技术简介
1.1 并行计算技术简介
1.2 大数据处理技术简介
1.3 MapReduce并行计算技术简介
1.4 Hadoop系统简介
第2章 Hadoop系统的安装与操作管理
2.1 Hadoop系统安装方法简介
2.2 单机和单机伪分布式Hadoop系统安装基本步骤
2.3 集群分布式Hadoop系统安装基本步骤
2.4 Hadoop MapReduce程序开发过程
2.5 集群远程作业提交与执行
第3章 大数据存储——分布式文件系统HDFS
3.1 HDFS的基本特征与构架
3.2 HDFS可靠性设计
3.3 HDFS文件存储组织与读写
3.4 HDFS文件系统操作命令
3.5 HDFS基本编程接口与示例

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
5月前
|
存储 分布式计算 Hadoop
【大数据】Hadoop技术解析:大数据处理的核心引擎
【大数据】Hadoop技术解析:大数据处理的核心引擎
168 0
|
6月前
|
存储 分布式计算 Hadoop
【大数据处理框架】Hadoop大数据处理框架,包括其底层原理、架构、编程模型、生态圈
【大数据处理框架】Hadoop大数据处理框架,包括其底层原理、架构、编程模型、生态圈
137 0
|
2月前
|
分布式计算 大数据 Java
Spark 大数据实战:基于 RDD 的大数据处理分析
Spark 大数据实战:基于 RDD 的大数据处理分析
122 0
|
6月前
|
SQL 分布式计算 算法
【大数据处理框架】Spark大数据处理框架,包括其底层原理、架构、编程模型、生态圈
【大数据处理框架】Spark大数据处理框架,包括其底层原理、架构、编程模型、生态圈
234 0
|
11月前
|
存储 数据可视化 安全
「大数据系列」Apache NIFI:大数据处理和分发系统
「大数据系列」Apache NIFI:大数据处理和分发系统
|
分布式计算 大数据 MaxCompute
|
存储 SQL 分布式计算
【读书笔记】大数据原理与应用:大数据处理架构Hadoop
【读书笔记】大数据原理与应用:大数据处理架构Hadoop
159 0
【读书笔记】大数据原理与应用:大数据处理架构Hadoop
|
存储 运维 分布式计算
大数据组件-实时大数据处理框架Storm安装部署
大数据组件-实时大数据处理框架Storm安装部署
大数据组件-实时大数据处理框架Storm安装部署
|
SQL 机器学习/深度学习 分布式计算
图解大数据 | 基于Dataframe / SQL大数据处理分析@Spark操作
DataFrame是一个以命名列方式组织的分布式数据集。本文详细讲解 Spark Dataframe的创建方式,Dataframe数据的Agg、Collect、Groupby、Join等核心操作,以及Spark SQL操作核心要点。
299 0
图解大数据 | 基于Dataframe / SQL大数据处理分析@Spark操作
|
机器学习/深度学习 存储 SQL
图解大数据 | 基于RDD大数据处理分析@Spark操作
RDD(弹性分布式数据集合)是Spark的基本数据结构,Spark中的所有数据都是通过RDD的形式进行组织。本文讲解RDD的属性、创建方式、广播与累加器等重要知识点,并图解RDD高频算子。
377 0
图解大数据 | 基于RDD大数据处理分析@Spark操作