描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121313646
本书涵盖了开发及维护生产级Spark应用的各种方法、组件与有用实践。作者均为大数据社区的知名专家,带着你一步步从概念验证或Spark应用的demo版迁移到生产环境,用真实案例分析常见问题、限制、挑战和机会。
调优Spark应用
管理资源、组织存储、做好监控
了解在生产环境中使用Spark时有哪些潜在的问题
知晓Spark用在何处*能发挥作用
预估集群的规模,搞清楚硬件需求
通过内存管理、分区、shuffle等技术提升性能
用Kerberos保证数据的安全
解决Spark streaming在生产环境中的问题
将Spark与Yarn、Mesos、Tachyon等集成
安装所需组件 / 2
原生安装Spark Standalone 集群 /3
分布式计算的发展史/ 3
步入云时代 /5
理解资源管理/6
使用各种类型的存储格式 /9
文本文件/11
Sequence 文件/13
Avro 文件/ 13
Parquet 文件 /13
监控和度量的意义/ 14
Spark UI/ 14
Spark Standalone UI/ 17
Metrics REST API / 17
Metrics System / 18
外部监控工具 / 18
总结 /19
第2 章 集群管理 /21
背景知识/ 23
Spark 组件 / 26
Driver / 27
workers 与executors /28
配置 / 30
Spark Standalone/33
架构 / 34
单节点设置场景 / 34
多节点设置 / 36
YARN / 36
架构 / 38
动态资源分配 /41
场景 /43
Mesos/ 45
安装/46
架构 / 47
动态资源分配/ 49
基本安装场景 / 50
比较 / 52
总结 /56
第3 章 性能调优 /59
Spark 执行模型/ 60
分区 /62
控制并行度/62
分区器/64
shuffle 数据 /65
shuffle 与数据分区 / 67
算子与shuffle / 70
shuffle 并不总是坏事 /75
序列化 / 75
Kryo 注册器 / 77
Spark 缓存 / 77
SparkSQL 缓存 / 81
内存管理 /82
垃圾回收 / 83
共享变量 / 84
广播变量 / 85
累加器 /87
数据局部性 / 90
总结 / 91
第4 章 安全/ 93
架构/ 94
Security Manager/ 94
设定配置 / 95
ACL / 97
配置 / 97
提交job / 98
Web UI/ 99
网络安全 / 107
加密/ 108
事件日志 /113
Kerberos/114
Apache Sentry./114
总结 /115
第5 章 容错或job 执行/ 117
Spark job 的生命周期 /118
Spark master /119
Spark driver/ 122
Spark worker /124
job 生命周期 /124
job 调度 /125
应用程序内部调度 / 125
用外部工具进行调度 / 133
容错 /135
内部容错与外部容错 / 136
SLA/ 137
RDD / 138
Batch vs Streaming / 145
测试策略 / 148
推荐配置/ 155
总结 / 158
第6 章 超越Spark /159
数据仓库 /159
SparkSQL CLI/161
Thrift JDBC/ODBC 服务器 / 162
Hive on Spark/ 162
机器学习 / 164
DataFrame / 165
MLlib 和ML / 167
Mahout on Spark / 174
Hivemall On Spark/ 175
外部的框架 / 176
Spark Package / 177
XGBoost/ 179
spark-jobserver / 179
未来的工作 /182
与参数服务器集成 / 184
深度学习 / 192
Spark 在企业中的应用 / 200
用Spark 及Kafka 收集用户活动日志 / 200
用Spark 做实时推荐/ 202
Twitter Bots 的实时分类 / 204
总结 / 205
引言
Apache Spark 一个易于掌握的、面向大规模计算的分布式计算框架。它又被称为“计算网格”或者“计算框架”——考虑到Spark 使开发人员能够便捷地获得大量数据且进行分析,这些说法也是正确的。
Apache Spark 由Matei Zaharia 2009 年在加州大学伯克利分校创建,一开始把它作为一个研究项目,后来在2010 年捐给开源社区。2013 年,Spark 作为一个孵化项目加入Apache 软件基金会,并于2014 年成为项目(TLP),一直发展到现在。
本书面向的读者
如果你拿起这本书,我们认为你应该对Spark 非常感兴趣。本书面向的读者群体是开发人员、Spark 应用的项目经理,以及那些准备考虑将开发的Spark 应用程序迁移到生产环境的系统管理员(或者DevOps)。
涵盖的内容
本书涵盖了开发及维护生产级Spark 应用的各种方法论、组件与实践。也就是说,我们假设你已经有一个或者打算开发一个Spark 应用,并且具备Spark 的一些基础知识。
内容结构
本书分为6 章,旨在传授给读者以下知识:
? 深入理解Spark 的内部机制以及它们在生产流程中的含义。
? 一组针对配置参数的法则和权衡方案,用来调优Spark
以获得高可用性和容错性。
? 全面了解生产流,以及把一个应用迁移到一个生产工作流中时所需要的各种组件。
读者需要具备的知识
作为读者,你应该具备基本的Spark 开发及使用的知识。本书不会讲述入门级内容。市面上有许多关于Spark 入门的书籍、论坛及各类资源,如果你对某部分的知识点有所缺失,可以阅读相关主题的资料以便更好地理解本书所表达的内容。本书示例的源代码可从Wiley 网站上下载:( www.wiley.com/go/sparkbigdataclustercomputing。)
格式的约定
为帮助你了解本书的内容及主线,在本书用了一些格式约定。
注意
这个样例表示注意事项、小提示、暗示、技巧,或者当前讨论的旁白。
? 当介绍一些新的术语和重要的词时,会采用黑体(中文)或者加粗(英文)。
? 在文本里显示代码时会使用代码体, 譬如:
persistence.properties。
源码
学习本书中的示例时,你可以选择手动输入所有代码,或使用本书所配套的源
码文件。所有的源码均可从www.wiley.com 下载。对于本书,下载页面在
www.wiley.com/go/sparkbigdataclustercomputing
的“Download Code”
标签页上。
可以在www.wiley.com 上通过英文版的ISBN(978-1-119-25401-0)来搜索本
书。
你也可以在https://github.com/backstopmedia/sparkbook 上找到
这些文件。
下载完代码,随便用哪种解压工具解压即可。
读者服务
轻松注册成为博文视点社区用户(www.broadview.com.cn),扫码直达本书页面。
? 提交勘误:您对书中内容的修改意见可在 提交勘误 处提交,若被采纳,将获赠博文视点社区积分(在您购买电子书时,积分可用来抵扣相应金额)。
? 交流互动:在页面下方 读者评论 处留下您的疑问或观点,与我们和其他读者一同学习交流。
页面入口:http://www.broadview.com.cn/31364
评论
还没有评论。