编辑推荐
适读人群 :大数据应用开发人员、运维工程师和开源软件爱好者 Spark是一个高效的分布式计算系统,相比Hadoop,它在性能上比Hadoop要高100倍。Spark提供比Hadoop更上层的API,同样的算法在Spark中实现往往只有Hadoop的1/10或者1/100的长度。
Spark较大的集群来自腾讯——8000个节点,而单个较大的Job分别是阿里巴巴和Databricks——1PB,震撼人心!同时,截止2015年6月,Spark的Contributor比2014年涨了3倍,达到730人;总代码行数也比2014年涨了2倍多,达到40万行。
本书是国内(包括Github社区)较新的基于Spark1.4版本的技术书籍,涵盖Spark技术的环境搭建、RDD实操应用、内部机制、调优和企业应用等内容,具体如下。
1)基于IntelliJIDEA的运行、开发和编译环境的详细搭建过程。
2)详细介绍Spark技术基础概念和应用实践。
3)基于Spark1.4官方文档对Spark四大应用框架进行解读。
4)基于源码深入剖析Spark的资源调度、任务调度和shuffle过程。
5)深入解读近两年Spark峰会和国内企业分享的典型应用案例。
本书的编写系统完整,力争以通俗易懂的语言全方位精细解读Spark技术,本书主要针对大数据技术初学者,包括但不限于大学生、研究生和工程师。此外,Spark应用开发人员、运维工程师和开源软件爱好者也可以将本书作为参考用书。
本书共分为概念、开发、机制和应用四篇,概念篇介绍Spark的背景概念和环境配置方法,开发篇介绍了Spark核心开发、四大应用框架和调优策略,机制篇则对Spark的RDD、调度和shuffle等机制进行解读,应用篇针对Spark在业界的典型应用进行阐述。
内容简介
本书是一本以Spark1.4为基础,详细介绍了Spark技术的概况、内部机制和企业界的应用情况。作者结合国内外众多资料和项目经验,力求深入浅出地讲解Spark技术的生态应用和发展状况,此外还选取了SparkSummit中的典型案例进行解析,为读者全面展现Spark技术在企业界的应用情况。本书适合Spark技术初学者、Spark技术爱好者、Spark运维工程师和开源软件爱好者,也可以作为相关培训学校和大专院校相关专业的教学用书。
作者简介
刘驰,博士,现任北京理工大学软件学院教授,软件服务工程系系主任。入选“北京理工大学杰出中青年支持与发展计划”。主持了国家自然科学基金、工信部电子商务集成试点工程等多项国家省部级重点项目。分别于清华大学和英国帝国理工学院获得学士和博士学位,后历任德国电信研究院(柏林)博士后研究员、美国IBMTJWatson研究中心研究员和IBM中国研究院研究主管。研究方向为:物联网、云计算和大数据技术。
目录
前言
第一篇 概 念 篇
第1章 Spark概述2
1.1 Spark初见2
1.1.1 Spark的发展史及近况2
1.1.2 Spark的特点5
1.1.3 Spark的作用6
1.1.4 Spark的体系结构6
1.1.5 Spark的发展趋势6
1.2 Spark框架7
1.2.1 批处理框架7
1.2.2 流处理框架8
1.3 Spark的生态系统8
1.4 Spark的数据存储11
1.5 本章小结11
第2章 Spark环境配置12
2.1 Spark运行环境配置12
2.1.1 先决条件12
2.1.2 下载与运行 Spark13
2.1.3 使用交互式 Shell14
2.1.4 搭建Spark Standalone集群16
2.2 Spark开发环境配置18
2.2.1 Spark独立应用程序18
2.2.2 构建IDE开发环境24
2.3 Spark编译环境配置29
2.3.1 使用Maven编译项目源码30
2.3.2 使用IDEA搭建源码编译与
阅读环境31
2.4 本章小结35
第二篇 开 发 篇
第3章 Spark核心开发37
3.1 Spark编程模型概述37
3.2 SparkContext38
3.2.1 SparkContext的作用38
3.2.2 SparkContext的创建38
3.2.3 使用Shell41
3.2.4 应用实践41
3.3 RDD简介42
3.3.1 RDD创建42
3.3.2 RDD转换操作43
3.3.3 RDD动作操作44
3.3.4 RDD惰性计算44
3.3.5 RDD持久化44
3.3.6 RDD检查点45
3.4 共享变量45
3.4.1 广播变量45
3.4.2 累加器46
3.5 Spark核心开发实践46
3.5.1 单值型Trasnformation算子46
3.5.2 键值对型Transformation算子58
3.5.3 Action算子64
3.6 本章小结72
第4章 Spark四大应用技术框架73
4.1 Spark SQL73
4.1.1 Spark SQL入门73
4.1.2 数据源75
4.1.3 性能调优81
4.1.4 分布式SQL引擎82
4.1.5 Shark迁移至Spark SQL指南82
4.1.6 Hive的兼容性83
4.1.7 Spark SQL数据类型85
4.2 Spark Streaming86
4.2.1 Spark Streaming简介87
4.2.2 入门实例87
4.2.3 基本概念89
4.3 Spark GraphX97
4.3.1 Spark GraphX简介97
4.3.2 属性图98
4.3.3 图操作100
4.3.4 Pregel API108
4.3.5 图构造器110
4.3.6 顶点与边相关RDD111
4.3.7 最优化表示113
4.3.8 图算法114
4.3.9 Example116
4.4 Spark MLlib116
4.4.1 Spark MLlib简介116
4.4.2 数据类型117
4.4.3 基本统计分析121
4.4.4 分类与回归123
4.4.5 协同过滤136
4.4.6 聚类138
4.4.7 降维139
4.4.8 特征提取与转换141
4.4.9 频繁模式挖掘146
4.4.10 最优化算法147
4.4.11 导出PMML模式149
4.5 SparkR150
4.5.1 SparkR DataFrame150
4.5.2 DataFrame的相关操作152
4.5.3 从SparkR运行SQL查询153
第5章 Spark系统配置与调优154
5.1 Spark运行监控154
5.2 Spark配置参数158
5.2.1 应用属性159
5.2.2 运行环境属性159
5.2.3 Shuffle操作
前言/序言
前言
随着互联网与移动终端行业的迅猛发展,企业和个体对数据相关服务需求不断提升,以ApacheHadoop为代表的分布式并行计算技术进一步发展,数据由量变而引发的质变正在全球范围内掀起深刻的技术与商业变革。在产业界,以数据驱动的发展策略也已逐渐被提升到前所未有的高度。在金融、电信、房地产和众多传统领域,沉积的数据价值开始被重视,这些公司逐渐在大数据领域加强资金和研发投入。在学术界,国内外越来越多的高校和研究机构在云计算和大数据领域投入大量的人力研究大数据及其相关技术。不仅如此,我国政府提出的“中国制造2025”战略规划和“互联网+”的概念也与大数据技术有着密不可分的联系,这更预示了大数据技术未来广阔的发展前景。
大数据的处理主要依靠分布式并行处理技术。本书主要介绍大数据分析平台的后起之秀ApacheSpark。相对于人们近年来熟知的ApacheHadoop,ApacheSpark具有基于内存计算、适合迭代计算并兼容多应用场景的特点,同时它还能兼容Hadoop生态系统中的组件,能吸收Hadoop的优点。经过短短6年的飞跃式发展,Spark已经成为业内颇具发展潜力的大数据分析平台之一。近两年召开的SparkSummit峰会,年均参会人数近2000人,业内对Spark的研究热情进一步提升,Spark的应用领域也在不断扩展,包括医疗、金融、O2O电商、政府、教育、电信、智慧城市和安全等,且在诸多领域都已经有Spark的成功应用案例。
编者基于国内外的研究和企业项目实践的经验,基于截稿时最新的Spark1.4版来介绍Spark技术的应用实践和最新动向,让读者更容易地迈上Spark学习之路。
本书是国内(包括Github社区)较新的基于Spark1.4版本的技术书籍,涵盖Spark技术的环境搭建、RDD实操应用、内部机制、调优和企业应用等内容,具体如下。
1)基于IntelliJIDEA的运行、开发和编译环境的详细搭建过程。
2)详细介绍Spark技术基础概念和应用实践。
3)基于Spark1.4官方文档对Spark四大应用框架进行解读。
4)基于最新源码深入剖析Spark的资源调度、任务调度和shuffle过程。
5)深入解读近两年Spark峰会和国内企业分享的典型应用案例。
本书的编写系统完整,力争以通俗易懂的语言全方位精细解读Spark技术,本书主要针对大数据技术初学者,包括但不限于大学生、研究生和工程师。此外,Spark应用开发人员、运维工程师和开源软件爱好者也可以将本书作为参考用书。
本书共分为概念、开发、机制和应用四篇,概念篇介绍Spark的背景概念和环境配置方法,开发篇介绍了Spark核心开发、四大应用框架和调优策略,机制篇则对Spark的RDD、调度和shuffle等机制进行解读,应用篇针对Spark在业界的典型应用进行阐述。
对于初学者,建议先学习Scala语言的基本语法,并从第1章起顺序阅读,搭建好开发环境,边学边进行代码实践。
对于已经有一定基础的读者可以跳过概念篇直接从第3章开始阅读,学习完第二篇开发篇,即Spark的应用操作后可以通过接着学习第三篇机制篇来加深理解。第四篇比较独立,在学习完概念篇之后就可以进行学习。
本书由刘驰主编,参与编写人员有符积高、徐闻春。在本书的编写过程中,始终本着科学、严谨的态度,力求精益求精,但错误、疏漏之处在所难免,敬请广大读者批评指正。
Spark:原理、机制及应用 电子书 下载 mobi epub pdf txt