登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書

『簡體書』基于Apache Spark的流处理

書城自編碼: 3622229
分類:簡體書→大陸圖書→計算機/網絡程序設計
作者: [美]杰拉德·马斯[Gerard,Maas],[美]弗朗索瓦
國際書號(ISBN): 9787519852948
出版社: 中国电力出版社
出版日期: 2021-04-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:HK$ 160.0

我要買

 

** 我創建的書架 **
未登入.


新書推薦:
先秦汉魏晋南北朝诗(附作者篇目索引)(全四册)精——中国古典文学总集
《 先秦汉魏晋南北朝诗(附作者篇目索引)(全四册)精——中国古典文学总集 》

售價:HK$ 597.6
财之道丛书·太古传:商业帝国200年
《 财之道丛书·太古传:商业帝国200年 》

售價:HK$ 153.6
不要相信你所想的一切:如何停止过度思考,克服焦虑、自我怀疑和自我破坏
《 不要相信你所想的一切:如何停止过度思考,克服焦虑、自我怀疑和自我破坏 》

售價:HK$ 50.4
万历四大征(全两册)
《 万历四大征(全两册) 》

售價:HK$ 117.6
凝望:我的摄影与人生
《 凝望:我的摄影与人生 》

售價:HK$ 129.6
工业机器人从基础到实战
《 工业机器人从基础到实战 》

售價:HK$ 153.6
重症产科.1
《 重症产科.1 》

售價:HK$ 71.8
财之道丛书·表层的真理:当代经济学与社会
《 财之道丛书·表层的真理:当代经济学与社会 》

售價:HK$ 105.6

 

建議一齊購買:

+

HK$ 116.2
《 基于Apache Flink的流处理 》
+

HK$ 117.5
《 智能硬件与机器视觉:基于树莓派 Python和OpenCV 》
+

HK$ 147.5
《 深入解析Apache Pulsar 》
+

HK$ 134.9
《 架构师修炼之道 》
+

HK$ 122.8
《 Python从入门到精通 》
+

HK$ 118.5
《 轻松学Web前端开发入门与实战HTML5+CSS3+JavaScript+Vue.js+jQuery(高清视频+彩色印刷) 》
編輯推薦:
利用分析工具可以快速获取商业洞察,为此你需要了解如何对数据进行实时处理。通过这本实用指南,对于熟悉Apache Spark的读者来说,你们将了解如何将这个内存框架应用于流数据。你会发现Spark让你几乎可以像面对批处理作业一样来开发流处理作业。
本书介绍了Apache Spark的理论基础。这本综合指南通过两个部分比较了Spark支持的流处理API:早期的Spark Streaming和后来的Structured Streaming。
內容簡介:
?学习流处理的基本概念、研究各种流处理架构。
?通过具体实例来研究Structured Streaming、深入理解流处理概念。
?通过Spark Streaming创建并管理流作业,使用其他Spark API与Spark Streaming集成。
?学习Spark Streaming高级技巧,包括近似算法和机器学习算法。
?将Apache Spark与其他流处理项目比较,包括Apache Storm、Apache Flink和Apache Kafka Streams。
關於作者:
Gerard Mass是Lightbend的首席工程师,致力于将Structured Streaming与流处理扩展技术无缝集成到Lightbend平台中。
Fran?ois Garillot在Facebook从事于分布式计算相关工作。曾在Lightbend从事Spark Streaming反压机制研究,同时拥有巴黎综合理工学院的博士学位。
目錄
目录
序 1
前言 3
部分 Apache Spark 流处理的基本原理
第1 章 流处理概述 13
什么是流处理 14
批处理与流处理 15
流处理中的时间概念 15
不确定性因素 16
流处理案例 16
可扩展的数据处理能力 18
扩展性与容错性 19
分布式流处理 19
Apache Spark 概述 20
波浪潮:函数式API 20
第二波浪潮:SQL 21
统一的引擎21
Spark 组件 22
Spark Streaming 23
Structured Streaming 23
接下来? 24
第2 章 流处理模型 25
数据源与接收器 26
不可变流 27
转换与聚合 27
窗口聚合 28
滚动窗口 28
滑动窗口 29
无状态处理与有状态处理 29
有状态的流 30
案例:Scala 中的本地状态计算 31
无状态流,还是有状态流? 33
时间效应 33
带时间戳的事件计算 33
通过时间戳来定义时间概念 34
事件时间与处理时间 34
使用水位线计算 37
小结 39
第3 章 流处理架构 41
数据平台的组件 41
体系模型 43
在流处理应用中使用批处理组件 44
流处理架构参考 45
Lambda 架构 45
Kappa 架构 46
流处理算法与批处理算法 47
流处理算法有时候本质上与批处理算法完全不同 47
流处理算法难以保证比批处理算法表现更好 48
小结 50
第4 章 流处理引擎Apache Spark 51
两种API 的由来 51
Spark 的内存使用 52
故障恢复 53
惰性执行 53
缓存使用建议 53
延迟 54
面向吞吐的数据处理 55
Spark 的多语言API 55
快速实现数据分析 56
更多关于Spark 的内容 57
小结 57
第5 章 Spark 分布式处理模型 59
通过集群管理器来运行Apache Spark 59
Spark 的集群管理器 61
分布式系统的弹性与容错 62
故障恢复 63
集群管理器对容错的支持 63
数据交付语义 64
微批处理与一次处理一个 66
微批处理:整体同步处理应用案例 66
一次处理一个 68
微批与一次处理一个:权衡 68
微批处理与一次处理一个方式地结合 69
动态的批次间隔 69
Structured Streaming 处理模型 69
第6 章 Spark 弹性模型 71
Spark 中的弹性分布式数据集 71
Spark 组件 73
Spark 容错保证 75
Task 失败恢复 76
stage 失败恢复 77
Driver 失败恢复 77
小结 78
参考文献 81
第二部分 Structured Streaming
第7 章 Structured Streaming 概述 87
学习Structured Streaming 之前 88
批处理分析 89
流分析 92
连接Stream 93
准备流数据93
流式Dataset 操作 94
创建查询(Query) 95
启动流处理96
浏览数据 97
小结 97
第8 章 Structured Streaming 编程模型 99
初始化Spark 实例 100
source:接收流数据 100
流数据的转换 102
sink:输出结果数据 105
format 106
outputMode 107
queryName 107
option 108
options 108
trigger 108
start() 109
小结 109
第9 章 Structured Streaming 实战 111
消费流source 112
程序逻辑 114
写入流sink 114
小结 116
第10 章 Structured Streaming 的Source 117
source 概述 117
可靠的source 需要能够重放数据 118
source 需要提供schema 119
可用的source 121
文件source 122
指定文件格式 122
公共配置 123
常用的文本解析配置项(CSV、JSON) 124
JSON 文件source 125
CSV 文件source127
Parquet 文件source 128
文本文件source 128
Kafka source 129
创建Kafka source 130
选择订阅主题的方法 131
Kafka source 的配置项 132
Kafka 消费者的配置项 133
Socket source 134
配置 135
操作 136
Rate source 136
第11 章 Structured Streaming 的Sink 139
sink 概述 139
可用的sink 140
可靠的sink 140
实验型sink 141
sink API 141
深入学习sink 141
文件sink 142
在文件sink 中使用触发器 143
文件格式的通用配置项 145
常见的时间和日期格式化设置(CSV、JSON) 146
CSV 文件sink 146
JSON 文件sink 147
Parquet 文件sink 148
文本文件sink 148
Kafka sink 148
Kafka 发布模型 148
Kafka sink 的使用 149
内存sink 152
控制台sink 153
配置项 153
输出模式 153
Foreach sink 154
ForeachWriter 接口 154
TCP Writer sink: ForeachWriter 使用案例 155
案例总结 158
ForeachWriter 序列化问题排查 159
第12 章 基于事件时间的流处理 161
Structured Streaming 中的事件时间 161
事件时间 163
处理时间 164
水位线 164
基于时间的窗口聚合 165
基于时间的窗口定义 166
如何计算间隔 167
多维聚合 167
滚动窗口和滑动窗口 168
记录去重 170
小结 170
第13 章 高级状态操作 173
案例:车队管理 174
分组状态操作 174
使用MapGroupsWithState 176
使用FlatMapGroupsWithState 180
输出模式 182
管理状态的时变性 183
小结 186
第14 章 Structured Streaming 应用监控 187
Spark 指标子系统 188
StreamingQuery 实例 189
StreamingQueryListener 接口 192
第15 章 实验性模块:连续处理与机器学习 195
连续处理 195
连续处理介绍 195
使用连续处理 197
局限性 198
机器学习 199
学习与应用199
在流中使用机器学习模型 200
案例:利用环境传感器估计房间使用情况 201
在线训练 204
参考文献 207
第三部分 Spark Streaming
第16 章 Spark Streaming 概述 213
DStream 抽象 214
基于DStream 的编程模型 214
基于DStream 的执行模型 216
Spark Streaming 程序结构 216
创建Spark Streaming Context 217
定义DStream 218
定义输出操作 218
启动Spark Streaming Context 218
停止Streaming 进程 219
小结 219
第17 章 Spark Streaming 编程模型 221
RDD,DStream 的底层抽象 221
DStream 转换操作 224
元素级别的DStream 转换 226
RDD 级别的DStream 转换228
Count 操作 229
修改结构的转换操作 230
小结 231
第18 章 Spark Streaming 执行模型 233
整体同步架构 233
Receiver 模型 235
Receiver API 235
Receiver 工作流程 236
Receiver 数据流 237
内部的数据弹性 238
Receiver 的并行 239
资源平衡:Receiver 与处理核数 239
通过预写式日志(Write-Ahead Log)达到零数据丢失 240
无Receiver(Direct)模式 241
小结 242
第19 章 Spark Streaming 的Source 245
source 分类 245
基础source 246
基于Receiver 模式的source 246
基于Direct 模式的source 247
常用source 247
文件source 248
队列source 251
工作流程 252
使用队列source 进行单元测试 252
队列source 的简单替代方案:ConstantInputDStream 254
Socket source 256
Kafka source 258
使用Kafka source 260
工作流程 261
哪里有更多的source 262
第20 章 Spark Streaming 的Sink 263
输出操作 263
内置的输出操作 265
print 266
saveAs 系列 266
foreachRDD 268
使用foreachRDD 编写自定义sink 268
第三方输出操作 271
第21 章 基于时间的流处理 273
窗口聚合 273
滚动窗口 274
滑动窗口 275
滑动窗口与批次间隔 275
滑动窗口与滚动窗口 276
使用窗口还是较长的批次间隔 276
窗口上的reduce 操作 277
reduceByWindow 278
reduceByKeyAndWindow 278
countByWindow 278
countByValueAndWindow 279
可逆的窗口聚合操作 279
流的分片 281
小结 281
第22 章 任意有状态的流处理 283
流的状态性 283
updateStateByKey 284
updateStateByKey 的局限性 286
性能 286
内存占用 287
使用mapwithState 进行有状态的计算 287
使用mapWithState 289
使用mapWithState 进行基于事件时间的流计算 291
第23 章 使用Spark SQL 295
Spark SQL 296
在Spark Streaming 中使用Spark SQL 函数 297
静态数据处理 301
Join 优化 304
更新流处理程序中的参考数据集 307
小结 309
第24 章 checkpoint 机制 311
checkpoint 的使用 312
DStream 的checkpoint 机制 317
从checkpoint 中恢复 318
checkpoint 的代价 320
checkpoint 调优 320
第25 章 Spark Streaming 应用监控 323
Streaming UI 324
通过Streaming UI 了解作业性能 326
输入速率图326
调度延迟图327
处理时间图328
总延迟图 328
批次细节 329
监控REST API 331
监控REST API 的使用 331
监控REST API 详解 331
指标子系统 333
内部事件总线 335
小结 339
第26 章 性能调优 341
Spark Streaming 中的性能平衡 341
批次间隔与处理延迟的关系 342
作业是如何失败的 342
深入理解调度延迟和处理延迟 343
checkpoint 对处理时间的影响 344
影响作业性能的外部因素 345
如何提高性能 345
调整批次间隔 346
以固定速率对数据摄入限流 346
反压 347
动态限流 348
PID 反压调优 349
自定义速率估算器 349
另一种动态处理策略 350
缓存 350
推测执行 352
参考文献 353
第四部分 Spark Streaming 高级技巧
第27 章 流式近似与抽样算法 357
准确性、实时性与大数据 358
准确性 358
实时处理 358
大数据 359
准确性、实时性与大数据之间的三角关系 359
近似算法 362
哈希与素描 362
去重统计:HyperLogLog 363
角色扮演练习:假如我们是系统管理员 364
HyperLogLog 在Spark 中的实践 367
统计元素频率:Count-min Sketch 371
布隆过滤器概述 372
在Spark 中使用布隆过滤器 373
使用Count-min Sketch 统计频率 373
排名与分位数:T-Digest 算法 376
减少元素数量:抽样 378
随机抽样 379
分层抽样 380
第28 章 实时机器学习 381
利用朴素贝叶斯进行流分类 382
streamDM 介绍384
朴素贝叶斯实践案例 385
训练一个电影评论分类器 386
决策树介绍 387
Hoeffding 树 389
使用在线K-means 进行流聚类 392
K-means 聚类 392
在线数据与在线K-means 算法 393
聚类的衰退问题 394
使用Spark Streaming 运行流式K-means 396
参考文献 399
第五部分 Apache Spark 之外的世界
第29 章 其他分布式实时流处理系统 405
Apache Storm 405
编程模型 406
Storm 拓扑 406
Storm 集群 407
与Spark 相比 407
Apache Flink 408
流处理优先的框架 408
与Spark 相比 409
Kafka Streams 409
Kafka Streams 编程模型 410
与Spark 相比 410
云上的流处理系统 411
AWS 上的Amazon Kinesis 411
微软的Azure Stream Analytics 412
Apache Beam 和Google Cloud Dataflow 413
第30 章 展望 417
紧随Spark 项目 418
在Stack Overflow 上寻求帮助 418
在邮件列表中进行讨论 418
参加会议 419
参加交流会 419
贡献Apache Spark 项目 419
参考文献 421
作者介绍 423
封面介绍 423
內容試閱
前言
本书适合哪些读者
本书针对专业的软件从业人员,他们可能经常与数据打交道,或者希望在流处理领域提高相应的知识技能,或者已经了解Apache Spark,又或者希望利用Apache Spark 来构建流式应用。
本书对于流处理背后的概念进行了全面的介绍。这些概念是理解Apache Spark 两种流式API(Structured Streaming 和Spark Streaming)的基础。
对于这些API 我们会进行深入研究,并对其特性、应用详细介绍,以及根据实践经验提供相应建议。
除了介绍API 和实际应用之外,我们还讨论了流处理的高级技巧。
所有人都值得仔细阅读这篇序言,只不过专业经验更加丰富的读者可能会从高级技巧的篇章中受益更多,并知道如何进一步学习。
这里并未假定你所需的Spark 基础知识,但如果你对于Spark 数据处理不熟悉,需要注意本书的核心是Spark 流式API 及其功能。关于Spark 功能以及相关生态的基础知识,我们推荐Bill Chambers 和Matei Zaharia 所著的《Spark: The Definitive Guide》。
本书所使用的编程语言为Scala。虽然Spark 在Scala 之外还提供了Java、Python,以及R 语言的支持,但是我们仍然认为Scala 是流式编程的语言。虽然很多代码示例可以被翻译为其他语言,但是在某些领域(比如复杂的状态计算)Scala 还是合适的编程语言。
安装Spark
Spark 是Apache 基金会正式托管的Apache 开源项目,不过大部分人都是在Github
上对其进行开发。你可以在以下地址下载二进制预编译包:https://spark.apache.org/downloads.html。
你可以将Spark 运行在一台或者多台机器上,这一点我们会稍后解释。目前对于主要的Linux 发行版Spark 都有对应的安装包,这对于安装来说很方便。
本书我们所使用的代码示例都是兼容Spark 2.4.0 版本的,除了少量的输出和格式化细节之外,这些示例应该能够兼容Spark 的未来版本。
另外由于Spark 是运行在Java 虚拟机(JVM)上的,所以你需要安装它,并且在Spark 组件运行的所有机器上都可以访问。
对于安装Java 开发包(JDK),我们推荐使用OpenJDK,它一般已经被打包在多数系统中了。
当然,你也可以安装Oracle JDK。
与Scala 程序类似,Spark 也是运行在JDK 6 或者更高版本的系统上。现在推荐的Spark 所依赖Java 版本是:
? Spark 2.0 以下版本,推荐Java 7。
? Spark 2.0 及其以上版本,推荐Java 8。
Scala 基础
本书中的代码示例由Scala 编写。它也是Spark 核心的实现语言,但它并非可用的语言,Spark 也提供了Python、Java,以及R 语言的API。
Scala 是目前世界上特性完备的编程语言之一,因为它同时提供了函数式与面向对象的支持。而且,它的简洁性和类型推断机制让其语法易于理解。
从教育学的角度来看,Scala 作为一门初学语言有很多优势,其中重要的是它的语法规则以及语义表示。
——Bj?rn Regnell,隆德大学
因此,我们希望本书的示例足够简洁,让任何读者都能够理解其含义。对于想要Scala 入门教程以及喜欢通过书籍学习的读者来说,我们推荐《Atomic Scala》[Eckel2013]。还有些读者可能只是想要一本参考书来扩展知识, 那么推荐《Programming in Scala》[Odersky2016]。
学习指引
本书分为五个部分:
? 部分继续深入讲解我们在序言中提到的这些概念。我们将会介绍流处理的基本概念及其实现架构,深入学习Spark。
? 第二部分,我们会学习Structured Streaming 及其编程模型,以及如何实现流处理程序,包括从简单的无状态转换到高级的有状态操作。还会讨论与监控工具的集成从而支持24/7 级别的运维,以及目前还在开发阶段的实验性模块。
? 第三部分,我们会学习Spark Streaming。与Structured Streaming 类似,我们会学习如何创建流处理程序,管理Spark Streaming 作业,并与Spark 中其他API集成。后会简要介绍性能调优的相关内容。
? 第四部分将介绍流处理的高级技巧,用概率数据结构和近似技术解决流处理中的一些挑战,并探讨Spark Streaming 对于在线机器学习方面的局限。
? 第五部分谈到Apache Spark 之外的世界。我们调研了其他的流处理器,并提供进一步学习Spark 以及流处理相关内容的方法路径。
这里推荐你通过部分的阅读来理解流处理中的概念。这会对于理解接下来的相关术语和概念很有帮助。
第二部分介绍Structured Streaming,第三部分介绍Spark Streaming,内容结构与前者类似。你可以选择其中一个,这取决于你的兴趣和当前的优先级:
? 你可能正在启动一个新项目或者希望了解Structured Streaming ?那么可以从第二部分开始阅读。
? 你当前的项目已经使用了Spark Streaming,而你又希望更加了解它?那么请从第三部分开始阅读。
第四部分则对于概率结构背后的数学知识进行了深入介绍,正所谓“坎坷前面是美景”。
第五部分将Spark 流处理与其他流处理框架进行比较,有助于你尝试多种技术选型并确认终方案。
本书在线资源可以对你的学习进行补充,其中notebooks 以及代码可以自行尝试。
当然也可以使用其中的代码来开始自己的项目。在线资源的地址是https://github.com/stream-processing-with-spark。
我们非常高兴能够把这些知识以及自身经验记录下来,希望你能够喜欢上这本书。
参考书籍
? [Eckel2013] Eckel, Bruce and Dianne Marsh, Atomic Scala (Mindview LLC, 2013).
? [Odersky2016] Odersky, Martin, Lex Spoon, and Bill Venners, Programming in Scala, 3rd ed. (Artima Press, 2016).
排版约定
在本书中使用以下排版约定:
斜体字(Italic)
表示新的术语、URL 网址、email 地址、文件名和文件扩展名。
等宽字体(Constant width)
表示代码行以及段落内引用的程序中的元素,如变量或函数名、数据库、数据类型、环境变量、语句和关键词。
等宽黑体(Constant width bold)
表示由用户输入的命令或其他文本。
等宽斜体(Constant width italic)
表示应替换为用户提供的值或由上下文确定的值的文本。
使用示例代码
本书在线资源中的补充资料(交互式的notebooks、工程代码示例,以及一些项目)可以扩充你的学习,帮助你进行尝试、理解相关的技术知识。具体地址是https://github.com/stream-processing-with-spark。
需要注意的是,notebooks 需要运行在Spark Notebook 上。Spark Notebook 是一个基于Web 的交互式编程环境,主要使用Scala 来运行Apache Spark 任务。其中实时组件非常适合流处理编程使用,可用于从系统中获取的数据做可视化展示。
Spark Notebook 项目位于Github 上:https://github.com/spark-notebook/sparknotebook,也可以直接从其发布站点http://spark-notebook.io 去下载编译好的版本。
本书的目的在于帮助你更好地完成工作。通常情况下,可以在你的程序或者文档中使用本书的代码。不必联系我们获取代码的使用权,除非你需要使用大量的代码。例如,在写程序的时候引用几段代码不需要向我们申请许可。但以光盘方式销售或者重新发行O’Reilly 书中的示例则需要获得许可。引用本书或引用本书中的示例代码来回答问题也不需要申请许可。但是,如果要将本书中的大量代码加入到你的产品文档,则需要申请许可。
我们欣赏你在引用时注明出处,但不强求。引用通常包括书名、作者、出版社和ISBN。如:“Stream Processing with Apache Spark by Gerard Maas and Fran?ois Garillot (O’Reilly). Copyright 2019 Fran?ois Garillot and Gerard Maas Images, 978-1-491-94424-0”。
如果觉得使用示例代码的情况不属于前面列出的合理使用或许可范围,请通过电子邮件联系我们,邮箱地址为permissions@oreilly.com。
O’Reilly 在线学习平台(O’Reilly Online Learning)
近40 年来,O’Reilly Media 致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。
我们有一群独家专家和创新者,他们通过图书、文章、会议和在线学习平台分享知识和技术。O’Reilly 的在线学习平台提供按需访问的直播培训课程、详细的学习路径、交互式编程环境,以及由O’Reilly 和其他200 多家出版社出版的书籍和视频。详情请访问http://oreilly.com。
联系我们
任何有关本书的意见或疑问,请按照以下地址联系出版社。
美国:
O’Reilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
中国:
北京市西城区西直门南大街2 号成铭大厦C 座807 室(100035)
奥莱利技术咨询(北京)有限公司
本书有一个对应网页,可以看到勘误表、案例及其他相关信息,具体可以访问http://bit.ly/stream-proc-apache-spark。
发表评论或咨询有关本书的技术问题,请发送电子邮件至bookquestions@oreilly.com 邮箱。
关于我们的书籍、课程、会议和新闻的更多信息, 请参阅http://www.oreilly.com。
我们的Facebook:http://facebook.com/oreilly。
我们的Twitter:http://twitter.com/oreillymedia。
我们的YouTube:http://www.youtube.com/oreillymedia。
致谢
本书初起源于Spark Streaming 学习手册,后来迅速发展成全面介绍Apache Spark在流处理方面的资料。这里要感谢所有的审稿人,你们宝贵的反馈促使了本书发展至今。另外特别感谢来自Datastax 的Russell Spitzer 和Facebook 的Serhat Yilmaz,以及来自Klarrio 的Giselle Van Dongen。
感谢Holden Karau 在本书草稿阶段给予的帮助和建议,以及Bill Chambers 对于我们后来新增的Structured Streaming 模块的帮助。
至于O’Reilly 的编辑Jeff Bleiel,从我们提出初的想法到草稿版本,再到你手里拿到的这个完整版本,一直全程参与,很有耐心并积极地反馈建议。还要感谢我们在O’Reilly 所接触的位编辑Shannon Cutt,她为整个项目的启动提供了不少帮助。此外O’Reilly 其他人在本书撰写的各个阶段都给予了不少帮助,这才让我们走得更远。
另外还要感谢Tathagata Das 与我们之间多次的互动交流,特别是在早期写Spark Streaming 的那段时间,当时我们正在挑战这个框架所能提供的极限。
Gerard
我要感谢Lightbend 的同事对于我在写作和工作之间来回忙碌之时所给予的支持和理解。特别要感谢的是Ray Roestenburg 在我困难时刻对我的鼓励,还有DeanWampler 对于我所做出的努力一直很支持,以及Ruth Stento 对我在写作风格上给出了良好建议。
特别需要提及的是Kurt Jonckheer、Patrick Goemaere 和Lieven Gesquière,他们给予了我不少机会和空间来加深对于Spark 的理解。感谢Andy Petrella 创建的SparkNotebook,但更重要的是他那富有感染力的激情鼓励我去探索编程与数据的交集。重要的是,我无比感谢我的妻子Ingrid,两个女儿Layla 和Juliana,以及我的母亲Carmen。如果没有她们的爱和关心以及理解,那么不可能完成这个项目。
Fran?ois
非常感谢Swisscom 以及Facebook 的同事在本书写作期间给予的支持,感谢Chris Fregly、Paco Nathan 和Ben Lorica 对我的建议和支持,以及我的妻子AJung 所做的一切。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.