热门排行
简介
《Spark:大数据集群计算的生产实践》涵盖了开发及维护生产级Spark应用的各种方法、组件与有用实践。全书分为6章,第1 ~ 2章帮助读者深入理解Spark的内部机制以及它们在生产流程中的含义;第3章和第5章阐述了针对配置参数的法则和权衡方案,用来调优Spark,改善性能,获得高可用性和容错性;第4章专门讨论Spark应用中的安全问题;第6章则全面介绍生产流,以及把一个应用迁移到一个生产工作流中时所需要的各种组件,同时对Spark生态系统进行了梳理。
《Spark:大数据集群计算的生产实践》不会讲述入门级内容,读者在阅读前应已具备Spark基本原理的知识。《Spark:大数据集群计算的生产实践》适合Spark开发人员、Spark应用的项目经理,以及那些考虑将开发的Spark应用程序迁移到生产环境的系统管理员(或者DevOps)阅读。
目录
第1章 成功运行Spark job 1
安装所需组件 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