当前: 首页 - 图书专区 - 深入理解大数据:大数据处理与编程实践
深入理解大数据:大数据处理与编程实践


  教辅下载
  在线购买
黄宜华 主编 苗凯翔 副主编
978-7-111-47325-1
79.00
518
2014年07月18日

计算机 > 软件与程序设计 > 综合

6513
简体中文
16

教材
计算机类专业系统能力培养系列教材








以大数据处理主流平台Hadoop1.0为核心,介绍Hadoop MapReduce,HDFS,HBase,以及Hive的基本设计思想、工作原理、系统构架、以及详细的大数据处理编程技术。
特点:
(1) 重点放在教读者算法设计实现,从基础算法,到应用编程案例,解决实际问题。
(2) 作者多年的教学研究实践,课程设计沉淀,可以更深入地讨论大数据。
(3) 来自业界——Intel真实的实践经验和案例积累。
黄宜华博士,南京大学计算机科学与技术系教授、PASA大数据实验室学术带头人。中国计算机学会大数据专家委员会委员、副秘书长,江苏省计算机学会大数据专家委员会主任。于1983、1986和1997年获得南京大学计算机专业学士、硕士和博士学位。主要研究方向为大数据并行处理、云计算以及Web信息挖掘等,发表学术研究论文60多篇。2010年在Google公司资助下在本校创建并开设了“MapReduce大数据并行处理技术”课程,成为全国最早开设该课程的院校之一。因在该课程教学和人才培养方面的出色成绩获得2012年Google奖教金。目前正在开展系统化的大数据并行处理技术研究工作,主持国家和省部级科研项目以及与美国Intel公司等业界的合作研究项目多项。


苗凯翔 (Kai X. Miao) 博士,英特尔中国大数据首席技术官,中国计算机学会大数据专家委员会委员。曾担任英特尔中国区系统集成部总监、信息技术研究部门亚洲地区总监、英特尔北美地区解决方案首席架构师。于2009荣获英特尔公司首席工程师职称。在加入英特尔以前,曾在美国Rutgers与DeVry大学任教。获得北方交通大学(北京)通信学士学位、美国辛辛那提大学电机工程硕士和博士学位。发表期刊和会议研究论文多篇,并拥有21项美国专利,在各种会议上发表过上百次主题演讲,曾参与IETF、ITU 和 MIT CFP等工业标准的制定,并于2006 年担任IEEE通信杂志的联合编辑。

从计算技术的角度看,大数据处理是一种涉及到几乎所有计算机技术层面的综合性计算技术,涉及到计算机软硬件技术的方方面面。大数据研究和应用已成为产业升级与新产业崛起的重要推动力量。
作为国内第一本经过多年课堂教学实践总结而成的大数据并行处理和编程技术书籍,本书全面地介绍了大数据处理相关的基本概念和原理,着重讲述了Hadoop MapReduce大数据处理系统的组成结构、工作原理和编程模型,分析了基于MapReduce的各种大数据并行处理算法和程序设计的思想方法。适合高等院校作为MapReduce大数据并行处理技术课程的教材,同时也很适合作为大数据处理应用开发和编程专业技术人员的参考手册。
我很高兴地看到,该书已纳入了教育部计算机类专业教学指导委员会制定的计算机类专业系统能力培养计划。大数据处理是一门综合性、最能体现计算机系统能力培养的课程。把大数据处理纳入计算机类专业系统能力培养课程体系中第三层次的核心课程,作为一门起到一定“收官”作用的综合性课程,这是在计算机系统能力培养方面的一个很好的尝试。
—— 中国工程院院士、中国计算机学会大数据专家委员会主任 李国杰

作为国内最早从事大数据技术研究和教学的团队之一,南京大学黄宜华教授和他的大数据实验室同仁们在大数据技术领域已经进行了多年系统深入的研究工作,取得了卓有成效的研究成果。英特尔作为一家全球领先的计算技术公司,长期以来始终以计算技术的创新为己任。在大数据处理技术方面,我们也竭尽全力发挥出我们在软硬件平台的组合优势引领大数据技术的全面发展和推广。
这本《深入理解大数据》的力作正是我们双方在大数据领域共同努力的结晶,是以学术界和业界完美结合的方式,在融合了学术界系统化的研究教学工作和业界深度的系统和应用研发工作基础上,成功打造出的一本大数据技术佳作。相信这是一本适合软件技术人员和 IT 行业管理人员理解和掌握大数据技术的不可多得的技术书籍,也是一本适合于在校大学生和研究生学习和掌握大数据处理和编程技术的好教材。
—— 英特尔亚太研发有限公司总经理 何京翔

本书在总结多年来MapReduce并行处理技术课程教学经验和成果的基础上,与业界著名企业Intel公司的大数据技术和产品开发团队和资深工程师联合,以学术界的教学成果与业界高水平系统研发经验完美结合,在理论联系实际的基础上,在基础理论原理、实际算法设计方法以及业界深度技术三个层面上,精心组织材料编写而成。

全书的主要内容包括:
■ 大数据处理技术与Hadoop MapReduce简介
■ Hadoop系统的安装和操作管理
■ 大数据分布式文件系统HDFS
■ Hadoop MapReduce并行编程模型、框架与编程接口
■ 分布式数据库HBase
■ 分布式数据仓库Hive
■ Intel Hadoop系统优化与功能增强
■ MapReduce基础算法程序设计
■ MapReduce高级程序设计技术
■ MapReduce机器学习与数据挖掘基础算法
■ 大数据处理算法与应用编程案例

本书中算法设计章节的程序源码可在南京大学PASA大数据实验室(PASA:Parallel Algorithms,Systems,and Applications)网站上下载:
http://pasa-bigdata.nju.edu.cn/links.html

Intel Hadoop系统免费试用版下载地址:
http://www.intel.cn/idh

本书反馈意见发送邮箱:
feedback_bigdata@163.com
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并行化算法设计思路和实现方法,然后再辅以详细的程序实现代码加以分析介绍;第三个特点是,对于那些有较好基础、希望了解更深入技术的读者来说,本书引入了开源技术书籍资料中所没有的来自业界产品的增强功能和深度技术内容。
  本书共分11章,分为两大部分,其中第一部分包括第1~7章,主要介绍Hadoop系统的相关技术内容;第二部分包括第8~11章,主要介绍MapReduce的编程和算法设计。
  第1章 大数据处理技术简介,简要介绍大数据并行处理技术的基本概念和技术内容,MapReduce并行计算技术设计思想和功能特点,以及Hadoop系统的基本组成和构架。
  第2章Hadoop系统的安装和操作管理,介绍Hadoop系统的安装和操作管理方法。
  第3章 大数据存储——分布式文件系统HDFS,介绍分布式文件系统Hadoop HDFS的基本组成和工作原理、HDFS文件系统操作命令、HDFS的基本编程接口和编程示例。
  第4章Hadoop MapReduce并行编程框架,介绍Hadoop MapReduce并行编程模型、框架、基本构架和工作过程以及MapReduce编程接口。
  第5章 分布式数据库HBase,介绍分布式数据库HBase的基本功能特点和组成结构、数据模型、HBase的安装与操作、HBase的编程接口和编程示例,并深度介绍HBase的读写操作特性和HBase的一些高级功能。
  第6章 分布式数据仓库Hive,介绍分布式数据仓库Hive的基本功能特点和结构组成、数据模型、Hive的安装和操作、Hive的查询语言HiveQL以及Hive JDBC编程技术。
  第7章Intel Hadoop系统优化与功能增强,介绍Hadoop Intel系统优化与功能增强以及Intel Hadoop系统的安装管理,然后详细介绍和解读Intel Hadoop系统HDFS的高级功能扩展、HBase的高级功能扩展与编程示例以及Hive的高级功能扩展与编程示例。
  第8章MapReduce 基础算法程序设计,介绍MapReduce的基础算法设计,包括WordCount、矩阵乘法、关系代数运算、单词共现算法、文档倒排索引、PageRank网页排名算法以及专利文献分析算法设计方法和编程实现。本章所有算法均有完整实现代码供下载学习。
  第9章MapReduce高级程序设计技术,介绍MapReduce高级程序设计技术,包括复合键值对的使用、用户定制数据类型、用户定制输入输出格式、用户定制Partitioner和Combiner、组合式MapReduce计算作业、多数据源的连接、全局参数/数据文件的传递与使用以及关系数据库的连接与访问技术。
  第10章MapReduce数据挖掘基础算法,介绍基于MapReduce的机器学习和数据挖掘并行化算法设计方法和编程实现,包括K-Means聚类算法、最近邻分类算法、朴素贝叶斯分类算法、决策树分类算法、频繁项集挖掘算法以及隐马尔科夫模型和最大期望算法。本章所有算法均有完整实现代码供下载学习。
  第11章 大数据处理算法设计与应用编程案例,介绍大数据处理算法与基本应用编程案例的算法设计和编程实现,包括基于MapReduce的搜索引擎算法、基于MapReduce的大规模短文本多分类算法、基于MapReduce的大规模基因序列比对算法、基于MapReduce的大规模城市路径规划算法、基于MapReduce的大规模重复文档检测算法、基于内容的并行化图像搜索算法与引擎、基于MapReduce的大规模微博传播分析、基于关联规则挖掘的图书推荐算法、以及基于Hadoop的城市智能交通综合应用案例。
  本书由南京大学计算机系PASA大数据实验室黄宜华教授担任主编、并负责全书内容的组织和编审,Intel公司大数据软件部首席工程师苗凯翔担任副主编。其余作者主要来自南京大学计算机系PASA大数据实验室以及Intel公司大数据软件部;此外,北京神州立诚科技有限公司也参加了部分章节的编写。
  本书第1章由黄宜华、周珊编写完成,第2章由仇红剑编写完成,第3章由赵頔编写完成,第4章由黄宜华、沈仪和赵博编写完成,第5章由姜伟华、杜竟成编写完成,第6章由萧少聪、韩小姣编写完成,第7章由陈建忠、王星宇、王毅、Manoj Shanmugasundaram编写完成,第8章由唐云、金磊编写完成,第9章由黄宜华编写完成,第10章由金磊、赵頔、仇红剑、顾荣编写完成,第11章由顾荣、赵博、韦永壮、笪庆、陈虎、李相臣、彭岳、王刚、姬浩、张同宝、陈新江编写完成。
  衷心感谢Intel公司大数据软件部参编工程师在本书写作过程中的共同努力和辛苦付出!特别感谢Intel公司Evelyn Yan(颜历)、Kally Wang(王星宇)、Yale Wang(王毅)在本书写作过程中所做的大量组织协调工作!也感谢本团队所在南京大学计算机系PASA大数据实验室所有参编作者的辛苦努力和付出!感谢机械工业出版社华章分社在本书编写和出版过程中的大力支持和帮助!
  Google中国公司大学合作部在过去的几年中为我们开设大数据技术课程给予了大力的支持和帮助,在此,谨向Google中国公司表示衷心的感谢!同时也要衷心感谢清华大学郑纬民教授和陈康副教授,他们为2009年Google公司的技术培训提供了全部课件并进行了主讲,使我们获益匪浅,该课件也为后期本课程的建设提供了良好的基础。此外,也要衷心感谢南京大学计算机软件新技术国家重点实验室,早在2010年即投入100万元资助购建了一个科研教学专用的MapReduce大数据并行处理集群,为几年来本团队的教学科研和本系其他诸多课题组的研究工作提供了良好的计算设施和条件。
  本书是国内第一本经过多年课堂教学实践后撰写而成的大数据处理和并行编程技术书籍,因此,本书非常适合于高等院校作为MapReduce大数据并行处理技术课程教材使用,同时也很适合于高等院校学生作为自学MapReduce并行处理技术的参考书。与此同时,由于本书包含很多来自业界实际产品的深度技术内容,并包括了丰富的算法设计和编程实战案例,因此本书也非常适合于作为IT和其他应用行业专业技术人员从事大数据处理应用开发和编程工作时的参考手册。
  书中第8章和第10章全部算法设计的程序代码都经过本团队完整编程实现并运行通过,源码可在与本书配套的南京大学PASA大数据实验室(PASA:Parallel Algorithms,Systems,and Applications)网站上下载:http://pasa-bigdata.nju.edu.cn/links.html。
  由于作者水平有限,书中难免会有不准确甚至错误之处。不当之处敬请读者批评指正,并将反馈意见发送到邮箱:feedback_bigdata@163.com,以便我们再版时修正错误。

南京大学计算机科学与技术系PASA大数据实验室
黄宜华
2014年3月18日,于南京
推荐序一
推荐序二
推荐序三
丛书序言
前  言
第一部分 Hadoop系统
第1章 大数据处理技术简介 2
1.1 并行计算技术简介 2
1.1.1 并行计算的基本概念 2
1.1.2 并行计算技术的分类 6
1.1.3 并行计算的主要技术问题 10
1.2 大数据处理技术简介 13
1.2.1 大数据的发展背景和研究意义 13
1.2.2 大数据的技术特点 16
1.2.3 大数据研究的主要目标、基本原则和基本途径 17
1.2.4 大数据计算模式和系统 18
1.2.5 大数据计算模式的发展趋势 21
1.2.6 大数据的主要技术层面和技术内容 22
1.3 MapReduce并行计算技术简介 25
1.3.1 MapReduce的基本概念和由来 25
1.3.2 MapReduce的基本设计思想 26
1.3.3 MapReduce的主要功能和技术特征 28
1.4 Hadoop系统简介 30
1.4.1 Hadoop的概述与发展历史 30
1.4.2 Hadoop系统分布式存储与并行计算构架 31
1.4.3 Hadoop平台的基本组成与生态系统 33
1.4.4 Hadoop的应用现状和发展趋势 37
第2章 Hadoop系统的安装与操作管理 39
2.1 Hadoop系统安装方法简介 39
2.2 单机和单机伪分布式Hadoop系统安装基本步骤 39
2.2.1 安装和配置JDK 40
2.2.2 创建Hadoop用户 40
2.2.3 下载安装Hadoop 40
2.2.4 配置SSH 41
2.2.5 配置Hadoop环境 42
2.2.6 Hadoop的运行 43
2.2.7 运行测试程序 43
2.2.8 查看集群状态 44
2.3 集群分布式Hadoop系统安装基本步骤 44
2.3.1 安装和配置JDK 44
2.3.2 创建Hadoop用户 45
2.3.3 下载安装Hadoop 45
2.3.4 配置SSH 45
2.3.5 配置Hadoop环境 46
2.3.6 Hadoop的运行 48
2.3.7 运行测试程序 48
2.3.8 查看集群状态 49
2.4 Hadoop MapReduce程序开发过程 49
2.5 集群远程作业提交与执行 53
2.5.1 集群远程作业提交和执行过程 53
2.5.2 查看作业执行结果和集群状态 53
第3章 大数据存储——分布式文件系统HDFS 56
3.1 HDFS的基本特征与构架 56
3.1.1 HDFS的基本特征 57
3.1.2 HDFS的基本框架与工作过程 57
3.2 HDFS可靠性设计 60
3.2.1 HDFS数据块多副本存储设计 60
3.2.2 HDFS可靠性的设计实现 61
3.3 HDFS文件存储组织与读写 63
3.3.1 文件数据的存储组织 63
3.3.2 数据的读写过程 65
3.4 HDFS文件系统操作命令 68
3.4.1 HDFS启动与关闭 68
3.4.2 HDFS文件操作命令格式与注意事项 69
3.4.3 HDFS文件操作命令 69
3.4.4 高级操作命令和工具 77
3.5 HDFS基本编程接口与示例 83
3.5.1 HDFS编程基础知识 83
3.5.2 HDFS基本文件操作API 84
3.5.3 HDFS基本编程实例 87
第4章 Hadoop MapReduce并行编程框架 91
4.1 MapReduce基本编程模型和框架 91
4.1.1 MapReduce并行编程抽象模型 91
4.1.2 MapReduce的完整编程模型和框架 93
4.2 Hadoop MapReduce基本构架与工作过程 96
4.2.1 Hadoop系统构架和MapReduce程序执行过程 96
4.2.2 Hadoop MapReduce执行框架和作业执行流程 98
4.2.3 Hadoop MapReduce作业调度过程和调度方法 102
4.2.4 MapReduce执行框架的组件和执行流程 106
4.3 Hadoop MapReduce主要组件与编程接口 107
4.3.1 数据输入格式InputFormat 107
4.3.2 输入数据分块InputSplit 109
4.3.3 数据记录读入RecordReader 110
4.3.4 Mapper类 112
4.3.5 Combiner 114
4.3.6 Partitioner 115
4.3.7 Sort 116
4.3.8 Reducer类 119
4.3.9 数据输出格式OutputFormat 120
4.3.10 数据记录输出RecordWriter 122
第5章 分布式数据库HBase 123
5.1 HBase简介 123
5.1.1 为什么需要NoSQL数据库 123
5.1.2 HBase的作用和功能特点 125
5.2 HBase的数据模型 126
5.2.1 HBase的基本数据模型 126
5.2.2 HBase的查询模式 128
5.2.3 HBase表设计 129
5.3 HBase的基本构架与数据存储管理方法 132
5.3.1 HBase在Hadoop生态中的位置和关系 132
5.3.2 HBase的基本组成结构 133
5.3.3 HBase Region 133
5.3.4 Region Server 135
5.3.5 HBase的总体组成结构 138
5.3.6 HBase的寻址和定位 139
5.3.7 HBase节点的上下线管理 142
5.4 HBase安装与操作 145
5.4.1 安装一个单机版的HBase 145
5.4.2 HBase Shell操作命令 146
5.4.3 基于集群的HBase安装和配置 149
5.5 HBase的编程接口和编程示例 152
5.5.1 表创建编程接口与示例 152
5.5.2 表数据更新编程接口与示例 153
5.5.3 数据读取编程接口与示例 155
5.5.4 HBase MapReduce支持和编程示例 157
5.6 HBase的读写操作和特性 161
5.6.1 HBase的数据写入 161
5.6.2 HBase的数据读取 171
5.7 其他HBase功能 173
5.7.1 Coprocessor 173
5.7.2 批量数据导入Bulk Load 176
第6章 分布式数据仓库Hive 179
6.1 Hive的作用与结构组成 179
6.2 Hive的数据模型 181
6.2.1 Hive的数据存储模型 181
6.2.2 Hive的元数据存储管理 182
6.2.3 Hive的数据类型 183
6.3 Hive的安装 184
6.3.1 下载Hive安装包 184
6.3.2 配置环境变量 184
6.3.3 创建Hive数据文件目录 185
6.3.4 修改Hive配置文件 185
6.4 Hive查询语言——HiveQL 188
6.4.1 DDL语句 188
6.4.2 DML语句 189
6.4.3 SELECT查询语句 190
6.4.4 数据表操作语句示例 190
6.4.5 分区的使用 192
6.4.6 桶的使用 193
6.4.7 子查询 194
6.4.8 Hive的优化和高级功能 194
6.5 Hive JDBC编程接口与程序设计 196
第7章 Intel Hadoop系统优化与功能增强 200
7.1 Intel Hadoop系统简介 200
7.1.1 Intel Hadoop系统的主要优化和增强功能 200
7.1.2 Intel Hadoop的系统构成与组件 201
7.2 Intel Hadoop系统的安装和管理 202
7.3 Intel Hadoop HDFS的优化和功能扩展 202
7.3.1 HDFS的高可用性 203
7.3.2 Intel Hadoop系统高可用性配置服务 204
7.3.3 Intel Hadoop系统高可用性配置服务操作 206
7.3.4 自适应数据块副本调整策略 208
7.4 Intel Hadoop HBase的功能扩展和编程示例 211
7.4.1 HBase大对象存储(LOB) 211
7.4.2 加盐表 212
7.4.3 HBase跨数据中心大表 213
7.5 Intel Hadoop Hive的功能扩展和编程示例 216
7.5.1 开源Hive的不足 216
7.5.2 Intel Hadoop“Hive over HBase”优化设计 216
7.5.3 Hive over HBase的架构 216
第二部分 MapReduce的编程和算法设计
第8章 MapReduce基础算法程序设计 220
8.1 WordCount 220
8.1.1 WordCount算法编程实现 220
8.2 矩阵乘法 223
8.2.1 矩阵乘法原理和实现思路 223
8.2.2 矩阵乘法的MapReduce程序实现 224
8.3 关系代数运算 227
8.3.1 选择操作 227
8.3.2 投影操作 228
8.3.3 交运算 229
8.3.4 差运算 230
8.3.5 自然连接 231
8.4 单词共现算法 233
8.4.1 单词共现算法的基本设计 233
8.4.2 单词共现算法的实现 234
8.4.3 单词共现算法实现中的细节问题 235
8.5 文档倒排索引 237
8.5.1 简单的文档倒排索引 237
8.5.2 带词频等属性的文档倒排索引 239
8.6 PageRank网页排名算法 242
8.6.1 PageRank的简化模型 243
8.6.2 PageRank的随机浏览模型 244
8.6.3 PageRank的MapReduce实现 245
8.7 专利文献分析算法 249
8.7.1 构建专利被引用列表 250
8.7.2 专利被引用次数统计 251
8.7.3 专利被引用次数直方图统计 252
8.7.4 按照年份或国家统计专利数 254
第9章 MapReduce高级程序设计技术 256
9.1 简介 256
9.2 复合键值对的使用 257
9.2.1 把小的键值对合并成大的键值对 257
9.2.2 巧用复合键让系统完成排序 259
9.3 用户定制数据类型 262
9.3.1 Hadoop内置的数据类型 263
9.3.2 用户自定义数据类型的实现 263
9.4 用户定制数据输入输出格式 264
9.4.1 Hadoop内置的数据输入格式与RecordReader 265
9.4.2 用户定制数据输入格式与RecordReader 265
9.4.3 Hadoop内置的数据输出格式与RecordWriter 269
9.4.4 用户定制数据输出格式与RecordWriter 269
9.4.5 通过定制数据输出格式实现多集合文件输出 270
9.5 用户定制Partitioner和Combiner 271
9.5.1 用户定制Partitioner 272
9.5.2 用户定制Combiner 273
9.6 组合式MapReduce计算作业 274
9.6.1 迭代MapReduce计算任务 274
9.6.2 顺序组合式MapReduce作业的执行 275
9.6.3 具有复杂依赖关系的组合式MapReduce作业的执行 275
9.6.4 MapReduce前处理和后处理步骤的链式执行 276
9.7 多数据源的连接 278
9.7.1 基本问题数据示例 279
9.7.2 用DataJoin类实现Reduce端连接 279
9.7.3 用全局文件复制方法实现Map端连接 285
9.7.4 带Map端过滤的Reduce端连接 287
9.7.5 多数据源连接解决方法的限制 288
9.8 全局参数/数据文件的传递与使用 288
9.8.1 全局作业参数的传递 288
9.8.2 查询全局的MapReduce作业属性 290
9.8.3 全局数据文件的传递 291
9.9 关系数据库的连接与访问 292
9.9.1 从数据库中输入数据 292
9.9.2 向数据库中输出计算结果 292
第10章 MapReduce数据挖掘基础算法 295
10.1 K-Means聚类算法 295
10.1.1 K-Means聚类算法简介 295
10.1.2 基于MapReduce的K-Means算法的设计实现 297
10.2 KNN最近邻分类算法 300
10.2.1 KNN最近邻分类算法简介 300
10.2.2 基于MapReduce的KNN算法的设计实现 301
10.3 朴素贝叶斯分类算法 303
10.3.1 朴素贝叶斯分类算法简介 303
10.3.2 朴素贝叶斯分类并行化算法的设计 304
10.3.3 朴素贝叶斯分类并行化算法的实现 306
10.4 决策树分类算法 310
10.4.1 决策树分类算法简介 310
10.4.2 决策树并行化算法的设计 313
10.4.3 决策树并行化算法的实现 317
10.5 频繁项集挖掘算法 327
10.5.1 频繁项集挖掘问题描述 327
10.5.2  Apriori频繁项集挖掘算法简介 328
10.5.3 Apriori频繁项集挖掘并行化算法的设计 329
10.5.4 Apriori频繁项集挖掘并行化算法的实现 331
10.5.5 基于子集求取的频繁项集挖掘算法的设计 335
10.5.6 基于子集求取的频繁项集挖掘并行化算法的实现 336
10.6 隐马尔科夫模型和最大期望算法 340
10.6.1 隐马尔科夫模型的基本描述 340
10.6.2 隐马尔科夫模型问题的解决方法 341
10.6.3 最大期望算法概述 345
10.6.4 并行化隐马尔科夫算法设计 345
10.6.5 隐马尔科夫算法的并行化实现 348
第11章 大数据处理算法设计与应用编程案例 352
11.1 基于MapReduce的搜索引擎算法 352
11.1.1 搜索引擎工作原理简介 353
11.1.2 基于MapReduce的文档预处理 354
11.1.3 基于MapReduce的文档倒排索引构建 356
11.1.4 建立Web信息查询服务 363
11.2 基于MapReduce的大规模短文本多分类算法 365
11.2.1 短文本多分类算法工作原理简介 365
11.2.2 并行化分类训练算法设计实现 366
11.2.3 并行化分类预测算法设计实现 369
11.3 基于MapReduce的大规模基因序列比对算法 371
11.3.1 基因序列比对算法简介 371
11.3.2 并行化BLAST算法的设计与实现 373
11.4 基于MapReduce的大规模城市路径规划算法 379
11.4.1 问题背景和要求 379
11.4.2 数据输入 380
11.4.3 程序设计要求 384
11.4.4 算法设计总体框架和处理过程 385
11.4.5 并行化算法的设计与实现 386
11.5 基于MapReduce的大规模重复文档检测算法 396
11.5.1 重复文档检测问题描述 396
11.5.2 重复文档检测方法和算法设计 397
11.5.3 重复文档检测并行化算法设计实现 401
11.6 基于内容的并行化图像检索算法与引擎 404
11.6.1 基于内容的图像检索问题概述 404
11.6.2 图像检索方法和算法设计思路 405
11.6.3 并行化图像检索算法实现 407
11.7 基于MapReduce的大规模微博传播分析 412
11.7.1 微博分析问题背景与并行化处理过程 413
11.7.2 并行化微博数据获取算法的设计实现 414
11.7.3 并行化微博数据分析算法的设计实现 416
11.8 基于关联规则挖掘的图书推荐算法 422
11.8.1 图书推荐和关联规则挖掘简介 422
11.8.2 图书频繁项集挖掘算法设计与数据获取 423
11.8.3 图书关联规则挖掘并行化算法实现 425
11.9 基于Hadoop的城市智能交通综合应用案例 432
11.9.1 应用案例概述 432
11.9.2 案例一:交通事件检测 433
11.9.3 案例二:交通流统计分析功能 435
11.9.4 案例三:道路旅行时间分析 435
11.9.5 案例四:HBase实时查询 436
11.9.6 案例五:HBase Endpoint快速统计 437
11.9.7 案例六:利用Hive高速统计 439
附  录
附录A OpenMP并行程序设计简介 442
附录B MPI并行程序设计简介 448
附录C 英特尔Apache Hadoop*系统安装手册 457
参考文献 486
计算机科学及应用
读者书评
发表评论



高级搜索
精通Android Wear应用开发
Cloud Foundry:从数字化战略到实现
社交网站界面设计(原书第2版)


版权所有© 2017  北京华章图文信息有限公司 京ICP备08102525号 京公网安备110102004606号
通信地址:北京市百万庄南街1号 邮编:100037
电话:(010)68318309, 88378998 传真:(010)68311602, 68995260
高校教师服务
华章教育微信
诚聘英才
诚聘英才