发表于2024-11-25
本书涵盖了开发及维护生产级Spark应用的各种方法、组件与有用实践。作者均为大数据社区的知名专家,带着你一步步从概念验证或Spark应用的demo版迁移到生产环境,用真实案例分析常见问题、限制、挑战和机会。
调优Spark应用
管理资源、组织存储、做好监控
了解在生产环境中使用Spark时有哪些潜在的问题
知晓Spark用在何处*能发挥作用
预估集群的规模,搞清楚硬件需求
通过内存管理、分区、shuffle等技术提升性能
用Kerberos保证数据的安全
解决Spark streaming在生产环境中的问题
将Spark与Yarn、Mesos、Tachyon等集成
本书针对spark从验证性环境迁移到实际生产环境时会遇到的各种问题给出了实际的帮助,涵盖了开发及维护生产级Spark应用的各种方法、组件与有用实践。全书分为6章,第1 ~ 2章帮助读者深入理解Spark的内部机制以及它们在生产流程中的含义;第3章和第5章阐述了针对配置参数的法则和权衡方案,用来调优Spark,改善性能,获得高可用性和容错性;第4章专门讨论Spark应用中的安全问题;第6章则全面介绍生产流,以及把一个应用迁移到一个生产工作流中时所需要的各种组件,同时对Spark生态系统进行了梳理。
Ilya Ganelin 从机器人专家成功跨界成为一名数据工程师。他曾在密歇根大学花费数年时间研究自发现机器人(self-discovering robot),在波音公司从事手机及无线嵌入式DSP(数据信号处理)软件开发项目,随后加入Capital One 的数据创新实验室,由此进入大数据领域。Ilya是Apache Spark核心组件的活跃贡献者以及Apache Apex的提交者(committer),他希望研究构建下一代分布式计算平台。同时,Ilya还是一个狂热的面包烘焙师、厨师、赛车手和滑雪爱好者。
Ema Orhian 是一位对伸缩性算法充满激情的大数据工程师。她活跃于大数据社区,组织会议,在会上发表演讲,积极投身于开源项目。她是jaws-spark-sql-rest(SparkSQL数据仓库上的一种资源管理器)的主要提交者。Ema一直致力于将大数据分析引入医疗领域,开发一个对大型数据集计算统计指标的端到端的管道。
Kai Sasaki 是一位日本软件工程师,对分布式计算和机器学习很感兴趣。但是一开始他并未从事Hadoop或Spark相关的工作,他最初的兴趣是中间件以及提供这些服务的基础技术,是互联网驱使他转向大数据技术领域。Kai一直是Spark的贡献者,开发了不少MLlib和ML库。如今,他正尝试研究将机器学习和大数据结合起来。他相信Spark在大数据时代的人工智能领域也将扮演重要角色。他的GitHub地址为:https://github.com/Lewuathe。
Brennon York既是一名特技飞行员,也是一位计算机科学家。他的爱好是分布式计算、可扩展架构以及编程语言。自2014年以来,他就是Apache Spark的核心贡献者,目标是通过发展GraphX和核心编译环境,培育一个更强大的Spark社区,激发更多合作。从为Spark提交贡献开始,York就一直在用Spark,而且从那个时候开始,就使用Spark将应用带入生产环境。
李刚,曾在IBM工作近20年,在数据中心IT建设、优化及管理领域有深入的研究和丰富的经验。在IBM期间负责IBM系统服务相关解决方案的开发与管理,其中包含数据中心基础设施与IT技术瓶体、数据中心高可用性管理暨灾难恢复,以及企业IT战略及IT架构优化等相关领域。
第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
引言
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
Spark:大数据集群计算的生产实践 下载 mobi pdf epub txt 电子书 格式 2024
Spark:大数据集群计算的生产实践 下载 mobi epub pdf 电子书偏重运维的内容多
评分这本书同事推荐的,确实不错,值得大家阅读。
评分还可以,扩展视野不错。
评分这本书还是可以作为参考书大概看看,书很薄,现在写书的都特么不专业了
评分这本书还是可以作为参考书大概看看,书很薄,现在写书的都特么不专业了
评分偏重运维的内容多
评分一直在京东购书~速度快~态度好
评分偏重运维的内容多
评分这本书同事推荐的,确实不错,值得大家阅读。
Spark:大数据集群计算的生产实践 mobi epub pdf txt 电子书 格式下载 2024