新書推薦:
《
笔记启蒙 : 英国皇家学会与科学革命
》
售價:HK$
85.8
《
汉语副词研究论集(第六辑)
》
售價:HK$
107.8
《
干戈之影:商代的战争观念、武装者与武器装备
》
售價:HK$
74.8
《
镶嵌之美:古希腊罗马的马赛克艺术
》
售價:HK$
305.8
《
后希腊化哲学:从斯多亚学派到奥利金的发展研究
》
售價:HK$
76.8
《
别纠结啦:不被情绪牵着走的通透生活指南(“当代一休”小池龙之介治愈新作!附赠精美书签!)
》
售價:HK$
64.9
《
第二人生:找到重新定义人生的智慧
》
售價:HK$
96.8
《
唐朝三百年
》
售價:HK$
107.8
|
編輯推薦: |
Spark被称为大数据处理王者技术Hadoop的真正挑战者。本书以丰富示例介绍Spark程序和数据挖掘算法设计,更好地帮助Spark开发者提高学习效率。
|
內容簡介: |
本书以时下最为流行的Hadoop所存在的缺陷为出发点,深入浅出地介绍了下一代大数据处理核心技术Spark的优势和必要性,并以最简洁的指引步骤展示了如何在10分钟内建立一个Spark大数据处理环境。在此基础上,本书以图文并茂和丰富的示例代码讲解的形式系统性地揭示了Spark的运行原理、算子使用、算法设计和优化手段,为读者提供了一个快速由浅入深掌握Spark基础能力和高级技巧的参考书籍。 本书共六章,涉及的主题主要包括大数据处理技术从Hadoop发展到Spark的必然性、快速体验Spark的指引、Spark架构和原理、RDD算子使用方法和示例、Spark算法设计实例、Spark程序优化方法。 本书适合需要使用Spark进行大数据处理的程序员、架构师和产品经理作为技术参考和培训资料,亦可作为高校研究生和本科生教材。
|
關於作者: |
刘军,男,1976年生人,博士,副教授,硕士生导师,北京邮电大学数据科学中心主任。
2003年至2007年任职于IBM中国研究院,担任高级研究员及部门经理,建立IBM中国研究院电信融合网络管理研究方向,主持研发Websphere及Tivoli电信产品线中多项关键技术,期间发表多篇国际会议及刊物论文,并申请获得多项美国专利。
2007年至2012年创办欢城(北京)科技有限公司,开创中国无端网络游戏产业,并担任中国软件协会网页游戏专业委员会委员。公司产品多次荣获国内互联网业界奖项,2008年获中国互联网协会最具运营价值Webgame奖项,
2012年至今在北京邮电大学信息与通信工程学院任教,研究方向为电信及互联网大数据分析、高速数据流挖掘算法,并牵头组建北京邮电大学数据科学中心。开设研究生课程《海量数据处理中的云计算》,发表大数据分析相关SCIEI检索论文十余篇,并独著《Hadoop大数据处理》一书,该书被哈工大、中南大学等多所高校的相关课程作为教材使用。
|
目錄:
|
目录
第1章从Hadoop到Spark
1.1Hadoop大数据时代的火种
1.1.1大数据的由来
1.1.2Google解决大数据计算问题的方法
1.1.3Hadoop的由来与发展
1.2Hadoop的局限性
1.2.1Hadoop运行机制
1.2.2Hadoop的性能问题
1.2.3针对Hadoop的改进
1.3大数据技术新星Spark
1.3.1Spark的出现与发展
1.3.2Spark协议族
1.3.3Spark的应用及优势
第2章体验Spark
2.1安装和使用Spark
2.1.1安装Spark
2.1.2了解Spark目录结构
2.1.3使用Spark Shell
2.2编写和运行Spark程序
2.2.1安装Scala插件
2.2.2编写Spark程序
2.2.3运行Spark程序
2.3Spark Web UI
2.3.1访问实时Web UI
2.3.2从实时UI查看作业信息
第3章Spark原理
3.1Spark工作原理
3.2Spark架构及运行机制
3.2.1Spark系统架构与节点角色
3.2.2Spark作业执行过程
3.2.3应用初始化
3.2.4构建RDD有向无环图
3.2.5RDD有向无环图拆分
3.2.6Task调度
3.2.7Task执行
第4章RDD算子
4.1创建算子
4.1.1基于集合类型数据创建RDD
4.1.2基于外部数据创建RDD
4.2变换算子
4.2.1对Value型RDD进行变换
4.2.2对Key Value型RDD进行变换
4.3行动算子
4.3.1数据运算类行动算子
4.3.2存储型行动算子
4.4缓存算子
第5章Spark算法设计
5.1过滤
5.2去重计数
5.3相关计数
5.4相关系数
5.5数据联结
5.6TopK
5.7Kmeans
5.8关联规则挖掘
5.9kNN
5.10朴素贝叶斯分类
第6章善用Spark
6.1合理分配资源
6.2控制并行度
6.3利用持久化
6.4选择恰当的算子
6.5利用共享变量
6.5.1累加器变量
6.5.2广播变量
6.6利用序列化技术
6.7关注数据本地性
6.8内存优化策略
6.9集成外部工具
参考文献
|
內容試閱:
|
前言
自2012年回归校园开始电信与互联网大数据分析科研生涯,我与Hadoop那头黄色小象就结下了不解之缘。感谢Google的论文、Yahoo的资助、Doug Cutting无与伦比的聪明才智,以及Hadoop开源社区无私奉献的参与者,让成千上万跟我们一样的中小开发者团队拥有了低成本处理大规模数据的能力。HDFS、MapReduce、Pig、Hive、HBase这些技术组件,帮助我们完成了一个又一个TB甚至PB级数据集的分析任务。那头可爱的黄色小象,陪伴我度过了一个又一个美好的日子。多么希望这种只用一个技术族就能解决各种大数据处理问题的美好日子能一直持续下去,相信这也是很多开发者梦寐以求的理想国度。然而,梦想终归是梦想。在两年前的某一天,无意中从网络上的一篇技术文章中看到了Spark这一新兴技术,文中宣称Spark性能和功能均优于Hadoop。将信将疑的我按照文章中的线索找到了Spark官网,下载解压后经过短暂试用,我就被Spark的简洁、高效、灵活的特性彻底迷住了。从那时起我就知道,Hadoop,我心目中大数据处理王者技术上的真正挑战者到来了。Spark以分布式内存对象架构为基础,以RDD转换模式为核心,并辅以丰富的RDD算子,不仅解决了大数据处理迭代任务的性能问题,还将开发者从简陋的MapReduce编程模式中解放出来,以更加灵活的方式控制数据的计算过程,并激发无穷的创意。因此,我们的团队逐渐将数据处理技术栈由Hadoop转向Spark。在这个过程中,我们发现目前已有的Spark相关书籍大多集中在介绍Spark技术的基础原理以及Spark相关工具(例如SparkSQL、SparkR等)的基本使用方法上。而要学习如何使用Spark中提供的丰富算子进行算法设计时,只能以大浪淘沙的方式从网络中零散的资料中寻找参考。因此,我们觉得如果有一本能以丰富示例介绍Spark程序和数据挖掘算法设计的书籍,应当能更好地帮助Spark开发者提高学习效率,这也就是我们撰写本书的原动力。基于这一原动力,本书突出以实例的方式介绍和展示Spark程序和算法设计的方法。第1章以科技史上最为著名的6个失败预言引出了大数据时代以及Hadoop技术出现的必然性,然后通过Hadoop与Spark的对比揭示了Hadoop的局限性和Spark的优势。第2章以简洁明了的方式说明了如何以最快的方式搭建一个Spark运行环境,并通过Shell环境体验Spark的强大功能。第3章以图文并茂的形式讲解了Spark的工作原理、架构与运行机制,并着重介绍了Spark的核心RDD的变换过程。第4章以大量示例代码的形式详细说明了Spark丰富的算子,包括创建算子、变换算子、行动算子和缓存算子。为了帮助读者掌握使用Spark设计和实现复杂算法的方法,第5章以10个常见算法实例展示了Spark处理复杂数据处理工作的能力。第6章从合理分配资源、控制并行度等9个方面介绍了优化Spark性能、拓展Spark功能的方法。与市面上大部分Spark书籍不同,除原理性文字外,本书还提供了大量的Spark代码实例,完成这些代码是一项艰巨的工作。因此,除本书的作者外,我们必须要感谢为文中代码编写和测试作出了巨大贡献的参与者,他们是来自北京邮电大学数据科学中心的研究生梁阳、林澍荣、王蒙、秦超、邱德扬等同学,以及北京浩瀚深度信息技术股份有限公司大数据专家张硕、宋若宁。由于作者水平有限,加之开源社区的高度活跃性,Spark技术仍在快速发展中。因此,书中难免会存在不足之处,还请读者见谅并批评指正。意见、建议或交流请发电子邮件至liujun@bupt.edu.cn。北京邮电大学 数据科学中心 刘军2016年8月
|
|