搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
Spark核心技术与高级应用
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787111523543
  • 作      者:
    于俊[等]著
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2016
收藏
编辑推荐

  科大讯飞和百分点资深大数据专家实践经验结晶,秉承老庄哲学,从开发、数据分析、计算、管理和性能优化等多角度系统、深度地讲解了Spark的核心技术与高级应用

  上善若水,水善利万物而不争。数据一如水,无色无味,非方非圆,以百态存于自然,于自然无违也。绵绵密密,微则无声,巨则汹涌;与人无争却又容纳万物。生活离不开水,同样离不开数据,我们被数据包围,在数据中生活。数据之道,水之道也。

  Spark作为一个快速、通用的大规模数据处理引擎,凭借其可伸缩、基于内存计算等特点,以及可以直接读写HDFS上数据的优势,进行批处理时更加高效,并有更低的延迟,已经成为轻量级大数据快速处理的统一平台,集成Spark SQL、Spark Streaming、MLlib、GraphX、SparkR等子框架,可以提供一站式解决方案,让从业者的工作变得越来越便捷。

  本书源于实践,又不囿于现有实践,以老庄哲学来探讨大数据的本质与应用,兼具高度与实用性。

  阅读本书的可能受益:

  爱好者——可加深对大数据生态环境发展趋势的理解,爱上大数据和Spark,开启日后探究之旅。

  大数据开发人员——理解原理、编程思想、应用实现与技术优缺点。

  大数据运维人员——了解Spark框架、编程思想与应用情况,保障运行环境稳定与资源的合理利用。

  大数据科学家与算法研究者——深入理解原理与应用场景,降低学习成本,开启通往高阶之路的大门。

展开
作者简介

  于俊,

  科大讯飞大数据专家,专注大数据Hadoop和Spark平台;主要工作是大数据统计分析和机器学习算法工程实现。


  向海,

  科大讯飞大数据专家,Spark爱好者,专注于大数据领域,现从事基于Spark的用户行为分析相关工作。


  代其锋,

  百分点科技大数据架构师,专注于分布式系统架构;主要工作是负责公司底层基础平台的建设和Spark技术的推广。


  马海平,

  科大讯飞大数据高级研究员,专注于用机器学习做大数据商业变现;主要工作是数据挖掘算法研究和Spark实现。

展开
内容介绍

  本书是Spark领域少有的专注于核心原理与深度应用的著作,由科大讯飞和百分点科技的4位大数据专家撰写。不仅细致介绍了Spark的程序开发、编程模型、作业执行解析等基础知识,而且还深度讲解了Spark SQL、Spark ML、Spark Streaming等大量内部模块和周边模块的原理与使用。除此之外,还从管理和性能优化的角度对Spark进行了深入探索。

  本书分为四大部分,共计20章:

  基础篇(第1~10章),详细说明什么是Spark、Spark的重要扩展、Spark的部署和运行、Spark程序开发、Spark编程模型,以及Spark作业执行解析。通过阅读本篇,读者可以构建更加清晰的Spark基础知识体系,进一步加深对大数据核心技术的理解。

  实战篇(第11~14章),本书重点篇章,重点讲解Spark SQL与DataFrame、Spark Streaming、Spark MLlib与Spark ML、GraphX,以及基于以上内容在大数据分析、系统资源统计、LR模型、二级邻居关系图获取方面的实例。通过体察本篇的内容,读者可以掌握如何在实践中应用Spark,优化自身的应用场景,完善相应的解决方案。

  高级篇(第15~18章),深入讲解Spark调度管理、存储管理、监控管理、性能调优。本篇的内容,为合理利用资源、有效进行资源监控、保障运行环境的稳定、平台性能调优、推进企业级的大数据平台管理提供了参考依据。

  扩展篇(第19~20章),介绍Jobserver和Tachyon在Spark上的使用情况。通过本篇,延续基础、实战、高级等环节,并进一步扩展,更好地管理好Job、更有效地利用内存,为读者拓展出更深入、更全面的思路。

  为了让读者从更高的角度认识与应用大数据,从《道德经》和《庄子》各精选10句,引导大家以老庄哲学的思考方式来认识大数据的内涵。本书不只是一本技术书,更是一本大数据哲学的思考之作。

展开
目录

前 言
基 础 篇
第1章 Spark简介  2
1.1 什么是Spark  2
1.1.1 概述  3
1.1.2 Spark大数据处理框架  3
1.1.3 Spark的特点  4
1.1.4 Spark应用场景  5
1.2 Spark的重要扩展  6
1.2.1 Spark SQL和DataFrame  6
1.2.2 Spark Streaming  7
1.2.3 Spark MLlib和ML  8
1.2.4 GraphX  8
1.2.5 SparkR  9
1.3 本章小结  10
第2章 Spark部署和运行  11
2.1 部署准备  11
2.1.1 下载Spark  11
2.1.2 编译Spark版本  12
2.1.3 集群部署概述  14
2.2 Spark部署  15
2.2.1 Local模式部署  16
2.2.2 Standalone模式部署  16
2.2.3 YARN模式部署  18
2.3 运行Spark应用程序  19
2.3.1 Local模式运行Spark应用程序  19
2.3.2 Standalone模式运行Spark应用程序  20
2.3.3 YARN模式运行Spark  22
2.3.4 应用程序提交和参数传递  23
2.4 本章小结  26
第3章 Spark程序开发  27
3.1 使用Spark Shell编写程序  27
3.1.1 启动Spark Shell  28
3.1.2 加载text文件  28
3.1.3 简单RDD操作  28
3.1.4 简单RDD操作应用  29
3.1.5 RDD缓存  30
3.2 构建Spark的开发环境  30
3.2.1 准备环境  30
3.2.2 构建Spark的Eclipse开发环境  31
3.2.3 构建Spark的IntelliJ IDEA开发环境  32
3.3 独立应用程序编程  40
3.3.1 创建SparkContext对象  40
3.3.2 编写简单应用程序  40
3.3.3 编译并提交应用程序  40
3.4 本章小结  43
第4章 编程模型  44
4.1 RDD介绍  44
4.1.1 RDD特征  45
4.1.2 RDD依赖  45
4.2 创建RDD  47
4.2.1 集合(数组)创建RDD  47
4.2.2 存储创建RDD  48
4.3 RDD操作  49
4.3.1 转换操作  50
4.3.2 执行操作  52
4.3.3 控制操作  54
4.4 共享变量  56
4.4.1 广播变量  57
4.4.2 累加器  57
4.5 本章小结  58
第5章 作业执行解析  59
5.1 基本概念  59
5.1.1 Spark组件  59
5.1.2 RDD视图  60
5.1.3 DAG图  61
5.2 作业执行流程  62
5.2.1 基于Standalone模式的Spark架构  62
5.2.2 基于YARN模式的Spark架构  64
5.2.3 作业事件流和调度分析  65
5.3 运行时环境  67
5.3.1 构建应用程序运行时环境  68
5.3.2 应用程序转换成DAG  68
5.3.3 调度执行DAG图  70
5.4 应用程序运行实例  71
5.5 本章小结  72
第6章 Spark SQL与DataFrame  73
6.1 概述  73
6.1.1 Spark SQL 发展  74
6.1.2 Spark SQL 架构  74
6.1.3 Spark SQL 特点  76
6.1.4 Spark SQL 性能  76
6.2 DataFrame  77
6.2.1 DataFrame和RDD的区别  78
6.2.2 创建DataFrame  78
6.2.3 DataFrame 操作  80
6.2.4 RDD转化为DataFrame  82
6.3 数据源  84
6.3.1 加载保存操作  84
6.3.2 Parquet 文件  85
6.3.3 JSON 数据集  88
6.3.4 Hive 表  89
6.3.5 通过JDBC 连接数据库  91
6.3.6 多数据源整合查询的小例子  92
6.4 分布式的SQL Engine  93
6.4.1 运行Thrift JDBC/ODBC 服务  93
6.4.2 运行 Spark SQL CLI  94
6.5 性能调优  94
6.5.1 缓存数据  94
6.5.2 调优参数  94
6.5.3 增加并行度  95
6.6 数据类型  95
6.7 本章小结  96
第7章 深入了解Spark Streaming  97
7.1 基础知识  97
7.1.1 Spark Streaming工作原理  98
7.1.2 DStream编程模型  99
7.2 DStream操作  100
7.2.1 Input DStream  100
7.2.2 DStream转换操作  102
7.2.3 DStream状态操作  104
7.2.4 DStream输出操作  106
7.2.5 缓存及持久化  107
7.2.6 检查点  108
7.3 性能调优  109
7.3.1 优化运行时间  109
7.3.2 设置合适的批次大小  111
7.3.3 优化内存使用  111
7.4 容错处理  112
7.4.1 文件输入源  112
7.4.2 基于Receiver的输入源  112
7.4.3 输出操作  113
7.5 一个例子  113
7.6 本章小结  115
第8章 Spark MLlib与机器学习  116
8.1 机器学习概述  116
8.1.1 机器学习分类  117
8.1.2 机器学习算法  117
8.2 Spark MLlib介绍  118
8.3 Spark MLlib库  119
8.3.1 MLlib数据类型  120
8.3.2 MLlib的算法库与实例  123
8.4 ML库  142
8.4.1 主要概念  143
8.4.2 算法库与实例  145
8.5 本章小结  147
第9章 GraphX图计算框架与应用  148
9.1 概述  148
9.2 Spark GraphX架构  149
9.3 GraphX编程  150
9.3.1 GraphX的图操作  152
9.3.2 常用图算法  161
9.4 应用场景  164
9.4.1 图谱体检平台  164
9.4.2 多图合并工具  165
9.4.3 能量传播模型  165
9.5 本章小结  166
第10章 SparkR(R on Spark)  167
10.1 概述  167
10.1.1 SparkR介绍  168
10.1.2 SparkR的工作原理  168
10.1.3 R语言介绍  169
10.1.4 R语言与其他语言的通信  170
10.2 安装SparkR  170
10.2.1 安装R语言与rJava  171
10.2.2 SparkR的安装  171
10.3 SparkR的运行与应用示例  172
10.3.1 运行SparkR  172
10.3.2 SparkR示例程序  173
10.3.3 R的DataFrame操作方法  175
10.3.4 SparkR的DataFrame  183
10.4 本章小结  186
实 战 篇
第11章 大数据分析系统  188
11.1 背景  188
11.2 数据格式  189
11.3 应用架构  189
11.4 业务实现  190
11.4.1 流量、性能的实时分析  190
11.4.2 流量、性能的统计分析  192
11.4.3 业务关联分析  193
11.4.4 离线报表分析  195
11.5 本章小结  199
第12章 系统资源分析平台  200
12.1 业务背景  200
12.1.1 业务介绍  201
12.1.2 实现目标  201
12.2 应用架构  201
12.2.1 总体架构  202
12.2.2 模块架构  202
12.3 代码实现  203
12.3.1 Kafka集群  203
12.3.2 数据采集  207
12.3.3 离线数据处理  207
12.3.4 数据表现  207
12.4 结果验证  213
12.5 本章小结  214
第13章 在Spark上训练LR模型  215
13.1 逻辑回归简介  215
13.2 数据格式  216
13.3 MLlib中LR模型源码介绍  217
13.3.1 逻辑回归分类器  217
13.3.2 优化方法  219
13.3.3 算法效果评估  221
13.4 实现案例  223
13.4.1 训练模型  223
13.4.2 计算AUC  223
13.5 本章小结  224
第14章 获取二级邻居关系图  225
14.1 理解PageRank  225
14.1.1 初步理解PageRank  225
14.1.2 深入理解PageRank  227
14.2 PageRank算法基于Spark的实现  228
14.3 基于PageRank的二级邻居获取  232
14.3.1 系统设计  232
14.3.2 系统实现  232
14.3.3 代码提交命令  235
14.4 本章小结  236
高 级 篇
第15章 调度管理  238
15.1 调度概述  238
15.1.1 应用程序间的调度  239
15.1.2 应用程序中的调度  241
15.2 调度器  242
15.2.1 调度池  243
15.2.2 Job调度流程  243
15.2.3 调度模块  245
15.2.4 Job的生与死  249
15.3 本章小结  253
第16章 存储管理  254
16.1 硬件环境  254
16.1.1 存储系统  254
16.1.2 本地磁盘  255
16.1.3 内存  255
16.1.4 网络和CPU  255
16.2 Storage模块  256
16.2.1 通信层  256
16.2.2 存储层  258
16.3 Shuff?le数据持久化  261
16.4 本章小结  263
第17章 监控管理  264
17.1 Web界面  264
17.2 Spark UI历史监控  266
17.2.1 使用spark-server的原因  266
17.2.2 配置spark-server  266
17.3 监控工具  269
17.3.1 Metrics工具  269
17.3.2 其他工具  271
17.4 本章小结  272
第18章 性能调优  273
18.1 文件的优化  273
18.1.1 输入采用大文件  273
18.1.2 lzo压缩处理  274
18.1.3 Cache压缩  275
18.2 序列化数据  277
18.3 缓存  278
18.4 共享变量  278
18.4.1 广播变量  279
18.4.2 累加器  279
18.5 流水线优化  280
18.6 本章小结  280
扩 展 篇
第19章 Spark-jobserver实践  282
19.1 Spark-jobserver是什么  282
19.2 编译、部署及体验  283
19.2.1 编译及部署  283
19.2.2 体验  286
19.3 Spark-jobserver程序实战  288
19.3.1 创建步骤  288
19.3.2 一些常见的问题  289
19.4 使用场景:用户属性分布计算  289
19.4.1 项目需求  290
19.4.2 计算架构  290
19.4.3 使用NamedRDD  291
19.5 本章小结  291
第20章 Spark Tachyon实战  292
20.1 Tachyon文件系统  292
20.1.1 文件系统概述  293
20.1.2 HDFS和Tachyon  294
20.1.3 Tachyon设计原理  294
20.1.4 Tachyon特性  295
20.2 Tachyon入门  295
20.2.1 Tachyon 部署  295
20.2.2 Tachyon API  297
20.2.3 在Spark上使用Tachyon  298
20.3  容错机制  299
20.4 本章小结  300

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证