• 基于Apache Flink的流处理
21年品牌 40万+商家 超1.5亿件商品

基于Apache Flink的流处理

正版二手书,欢迎选购

17.36 2.0折 88 九品

仅1件

北京朝阳
认证卖家担保交易快速发货售后保障

作者(美)比安·霍斯克(Fabian Hueske),(美)瓦西里基·卡拉夫里(Vasiliki Kalavri)

出版社中国电力出版社

ISBN9787519840112

出版时间2017-12

装帧平装

开本16开

定价88元

货号1218145333902163981

上书时间2024-12-11

宏铭图书店

十三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九品
商品描述
前言
前言你能从本书学到什么本书将教给你基于Apache Flink 进行流处理的一切知识。它总共包含了11 章,我们希望通过这些章节讲述一个完整的故事。书中部分章节会侧重描述高层次的设计理念,而其余章节会更加注重实践并包含了很多示例代码。尽管我们在写书的时候是按照预期阅读顺序进行的章节编排,但如果你已经对某些章节的内容很熟悉,仍可以选择跳过。若是你迫不及待地想开始编写Flink 代码,也可以先阅读实践章节。接下来我们会简要介绍一下每个章节的内容,便于你直接跳到最感兴趣的部分。? 第 1 章是概述。我们在其中概括了状态化流处理、数据处理应用的架构和设计,以及流处理与传统方法相比的优势所在。此外,还简要介绍了如何在本地Flink 实例上运行你的个流式应用。? 第 2 章主要讨论流处理的基本概念和挑战。这些内容均是独立于 Flink 而存在的。? 第 3 章重点描述 Flink 的系统架构和内部实现。其中讨论了分布式架构、流式应用中的时间和状态处理问题以及Flink 的容错机制。? 第 4 章讲解如何配置用于开发和调试 Flink 应用的环境。? 第 5 章介绍 Flink DataStream API 的基础知识。你将从中学到如何实现DataStream 应用以及Flink 所支持的流式转换、函数及数据类型等。? 第 6 章讨论 DataStream API 中基于时间的算子。其中包含窗口算子、基于时间的Join 以及一系列处理函数(process function),它们让流式应用中的时间处理变得十分灵活。? 第 7 章介绍如何实现有状态函数以及一些与之相关的问题,例如性能、健壮性、有状态函数的演变等。同时本章还会展示如何使用Flink 的可查询式状态。? 第 8 章介绍 Flink 中最常用的数据源(data source)和数据汇(data sink)连接器。其中会讨论Flink 中解决端到端应用一致性的方案以及如何实现自定义连接器来读写外部系统。? 第 9 章讨论如何针对不同环境搭建和配置 Flink 集群。? 第 10 章主要涵盖针对 7×24 小时运行的流处理应用的操作、监控和运维等内容。? 最后在第 11 章,我们提供了一些资源,以方便你提问、参与 Flink 相关活动并了解Flink 的现实应用场景。本书约定本书使用如下排版约定:斜体字(Italic)表示新的术语、链接、电子邮件地址、文件名和文件扩展名。等宽字体(Constant width)用于程序清单,在段落中引用程序元素,例如变量名、函数名、数据库、数据类型、环境变、代码语句和关键词等。也用于模块和包的名称,以及展示由用户按字面输入的命令或其他文本及命令输出。斜体等宽字体(Constant width italic)表示应替换为用户提供的值或由上下文确定的值来替换的文本。使用示例代码本书的补充材料(Java 和Scala 示例代码)可在https://github.com/streamingwith-flink 下载。本书的目的是帮助你完成工作。一般来说,书中提供的示例代码可用于你自己的程序或文档中。除非你复制了大量代码,否则无须联系我们获得许可。举例而言,你在编写的程序中用到了本书的几个代码块无需许可。不过销售或分发O’Reilly 系列书籍的示例CD-ROW 则需要获得许可。引用本书的示例代码来回答问题无需许可。而将本书中大量示例代码整合到产品文档中则需要获得许可。我们提倡但不强制要求归属权声明。归属权声明通常包括数名、作者、出版社以及ISBN。例如:“Stream Processing with Apache Flink by Fabian Hueske and Vasiliki Kalavri (O’Reilly). Copyright 2019 Fabian Hueske and Vasiliki Kalavri, 978-1-491-97429-2”。如果你觉得你对示例代码的使用超出了上述许可范围,可随时通过电子邮件permissions@oreilly.com 联系我们。O’Reilly 在线学习40 年来O’Reilly 一直在提供技术和商业培训、知识、见解,以帮助企业成功。我们独一无二的专家及创新者团队会通过书籍、文章、会议和在线学习平台等途径分享他们的知识和专业经验。O’Reilly 在线学习平台为你提供按需访问的实时培训课程,深入学习路径,交互式编码环境以及来自O’Reilly和200 多家其他出版商的大量文本及视频。欲了解更多信息,请访问http://oreilly.com。如何联系我们任何有关本书的意见或疑问,请按照以下地址联系出版社。美国:O’Reilly Media, Inc.1005 Gravenstein Highway NorthSebastopol, CA 95472中国:北京市西城区西直门南大街2 号成铭大厦C 座807 室(100035)奥莱利技术咨询(北京)有限公司我们为本书提供了一个网页,上面列出了勘误表、示例和其他附加信息,地址是: http://bit.ly/stream-proc。如果有技术问题或希望对本书提出建议,请发送电子邮件至:bookquestions@oreilly.com。欲获取更多有关我们的书籍、教程、会议和新闻等信息,请访问我们的网站http://www.oreilly.com。欢迎关注我们的Facebook:http://facebook.com/oreilly。欢迎关注我们的Twitter: http://twitter.com/oreillymedia。欢迎关注我们的YouTube:http://www.youtube.com/oreillymedia。欢迎关注作者的Twitter:@fhueske 和@vkalavri。致谢本书的出版离不开众多能人志士的帮助和支持,在此由衷地感谢。书中总结了Apache Flink 社区多年来在设计、开发、测试等方面积累的知识。感谢所有通过代码、文档、评论、Bug 报告、功能需求、邮件列表讨论、培训、会议演讲、聚会组织等一切活动为Flink 做出过贡献的人。特别感谢Flink 社区的Committer 们:Alan Gates, Aljoscha Krettek,Andra Lungu, ChengXiang Li, Chesnay Schepler, Chiwan Park, Daniel Warneke,Dawid Wysakowicz, Gary Yao, Greg Hogan, Gyula Fóra, Henry Saputra, Jamie Grier,Jark Wu, Jincheng Sun, Konstantinos Kloudas, Kostas Tzoumas, Kurt Young, Márton Balassi, Matthias J. Sax, Maximilian Michels, Nico Kruber,Paris Carbone, Robert Metzger, Sebastian Schelter, Shaoxuan Wang, Shuyi Chen, Stefan ichter,Stephan Ewen, Theodore Vasiloudis, Thomas Weise, Till Rohrmann, Timo Walther, Tzu-Li (Gordon) Tai, Ufuk Celebi, Xiaogang Shi,Xiaowei Jiang, Xingcan Cui。通过本书,我们期待能够吸引世界各地的开发者、工程师以及流处理爱好者加入,进一步扩大Flink 社区。我们还要感谢那些给予我们无数宝贵建议的技术评审员们:Adam Kawa、Aljoscha Krettek、Kenneth Knowles、Lea Giordano、Matthias J. Sax、Stephan Ewen、Ted Malaska 以及Tyler Akidau,感谢你们为改善内容所做的帮助。最后,我们由衷地感谢O’Reilly 的相关工作人员:Alicia Young、Colleen Lobner、Christine Edwards、Katherine Tozer、Marie Beaugureau 以及Tim McGovern,感谢你们在这两年半旅途中的陪伴,一起协助我们完成这个项目。

作者简介
Fabian Hueske是Apache Flink项目的PMC成员,他从Flink项目创始之初就开始参与贡献。Fabian是data Artisans(现在的Ververica)公司的创始人之一,拥有柏林工业大学的计算机科学博士学位。Vasiliki Kalavri是苏黎世联邦理工学院系统组的博士后研究员。她同样也是Apache Flink项目的PMC成员。作为Flink早期贡献者,Vasiliki参与了图计算库Gelly以及初期版本的Table API和流式SQL的建设工作。崔星灿,加拿大约克大学博士后,分布式流处理技术和开源爱好者,Apache Flink Committer。

目录
前言1

章状态化流处理概述7

传统数据处理架构8

事务型处理8

分析型处理9

状态化流处理11

事件驱动型应用13

数据管道14

流式分析15

开源流处理的演变16

历史回顾17

Flink快览18

运行首个Flink应用20

小结23

第2章流处理基础25

Dataflow编程概述25

Dataflow图25

数据并行和任务并行26

数据交换策略27

并行流处理28

延迟和吞吐28

数据流上的操作31

时间语义36

流处理场景下一分钟的含义37

处理时间38

事件时间39

水位线40

处理时间与事件时间41

状态和一致性模型41

任务故障43

结果保障44

小结46

第3章ApacheFlink架构47

系统架构47

搭建Flink所需组件48

应用部署50

任务执行51

高可用性设置52

Flink中的数据传输54

基于信用值的流量控制56

任务链接57

事件时间处理58

时间戳59

水位线59

水位线传播和事件时间61

时间戳分配和水位线生成63

状态管理64

算子状态65

键值分区状态66

状态后端68

有状态算子的扩缩容68

检查点、保存点及状态恢复71

一致性检查点71

从一致性检查点中恢复72

Flink检查点算法74

检查点对性能的影响79

保存点79

小结82

第4章设置ApacheFlink开发环境83

所需软件83

在IDE中运行和调试Flink程序84

在IDE中导入书中示例84

在IDE中运行Flink程序87

在IDE中调试Flink程序88

创建FlinkMaven项目89

小结90

第5章DataStreamAPI(17版本)91

Hello,Flink!91

设置执行环境93

读取输入流94

应用转换94

输出结果95

执行96

转换操作96

基本转换97

基于KeyedStream的转换100

多流转换104

分发转换108

设置并行度111

类型112

支持的数据类型113

为数据类型创建类型信息116

显式提供类型信息117

定义键值和引用字段118

字段位置118

字段表达式119

键值选择器120

实现函数121

函数类121

Lambda函数122

富函数123

导入外部和Flink依赖124

小结125

第6章基于时间和窗口的算子127

配置时间特性127

分配时间戳和生成水位线129

水位线、延迟及完整性问题133

处理函数134

时间服务和计时器136

向副输出发送数据138

CoProcessFunction140

窗口算子141

定义窗口算子142

内置窗口分配器143

在窗口上应用函数148

自定义窗口算子155

基于时间的双流Join167

基于间隔的Join167

基于窗口的Join168

处理迟到数据170

丢弃迟到事件170

重定向迟到事件171

基于迟到事件更新结果172

小结174

第7章有状态算子和应用175

实现有状态函数176

在RuntimeContext中声明键值分区状态176

通过ListCheckpointed接口实现算子列表状态180

使用CheckpointedFunction接口187

接收检查点完成通知189

为有状态的应用开启故障恢复190

确保有状态应用的可维护性190

指定算子唯一标识191

为使用键值分区状态的算子定义优选并行度192

有状态应用的性能及鲁棒性192

选择状态后端193

选择状态原语194

防止状态泄露195

更新有状态应用198

保持现有状态更新应用199

从应用中删除状态200

修改算子的状态200

可查询式状态202

可查询式状态服务的架构及启用方式203

对外暴露可查询式状态204

从外部系统查询状态205

小结207

第8章读写外部系统209

应用的一致性保障210

幂等性写211

事务性写211

内置连接器213

ApacheKafka数据源连接器214

ApacheKafka数据汇连接器218

文件系统数据源连接器222

文件系统数据汇连接器224

ApacheCassandra数据汇连接器228

实现自定义数据源函数232

可重置的数据源函数233

数据源函数、时间戳及水位线235

实现自定义数据汇函数236

幂等性数据汇连接器238

事务性数据汇连接器239

异步访问外部系统248

小结251

第9章搭建Flink运行流式应用253

部署模式253

独立集群254

Docker256

ApacheHadoopYARN258

Kubernetes261

高可用性设置266

独立集群的HA设置267

YARN上的HA设置268

Kubernetes的HA设置270

集成Hadoop组件270

文件系统配置272

系统配置274

Java和类加载275

CPU275

内存和网络缓冲276

磁盘存储278

检查点和状态后端279

安全性280

小结281

0章Flink和流式应用运维283

运行并管理流式应用283

保存点284

通过命令行客户端管理应用285

通过RESTAPI管理应用292

在容器中打包并部署应用298

控制任务调度302

控制任务链接302

定义处理槽共享组303

调整检查点及恢复305

配置检查点306

配置状态后端309

配置故障恢复311

监控Flink集群和应用313

FlinkWebUI313

指标系统316

延迟监控322

配置日志行为323

小结324

1章还有什么?325

Flink生态的其他组成部分325

用于批处理的DataSetAPI325

用于关系型分析的TableAPI及SQL326

用于复杂事件处理和模式匹配的FlinkCEP326

用于图计算的Gelly327

欢迎加入社区327

内容摘要
Apache Flink项目的资深贡献者Fabian Hueske和Vasiliki Kalavri展示了如何使用Flink DataStream API实现可伸缩的流式应用,以及怎样在业务环境中持续运行和维护这些应用。流处理的理想应用场景有很多,包括低延迟ETL、流式分析、实时仪表盘以及欺诈检测、异常检测和报警。你可以在任意类型的持续数据(包括用户交互、金融交易和物联网等数据)生成后,立即对它们进行处理。了解有关分布式状态化流处理的概念和挑战。探索Flink的系统架构,包括事件时间处理模式和容错模型。理解DataStream API的基础知识和构成要素,包括基于时间和有状态的算子。以准确一次的一致性读写外部系统。部署和配置Flink集群。对持续运行的流式应用进行运维。

精彩内容
前言你能从本书学到什么本书将教给你基于Apache Flink 进行流处理的一切知识。它总共包含了11 章,我们希望通过这些章节讲述一个完整的故事。书中部分章节会侧重描述高层次的设计理念,而其余章节会更加注重实践并包含了很多示例代码。尽管我们在写书的时候是按照预期阅读顺序进行的章节编排,但如果你已经对某些章节的内容很熟悉,仍可以选择跳过。若是你迫不及待地想开始编写Flink 代码,也可以先阅读实践章节。接下来我们会简要介绍一下每个章节的内容,便于你直接跳到最感兴趣的部分。? 第 1 章是概述。我们在其中概括了状态化流处理、数据处理应用的架构和设计,以及流处理与传统方法相比的优势所在。此外,还简要介绍了如何在本地Flink 实例上运行你的个流式应用。? 第 2 章主要讨论流处理的基本概念和挑战。这些内容均是独立于 Flink 而存在的。? 第 3 章重点描述 Flink 的系统架构和内部实现。其中讨论了分布式架构、流式应用中的时间和状态处理问题以及Flink 的容错机制。? 第 4 章讲解如何配置用于开发和调试 Flink 应用的环境。? 第 5 章介绍 Flink DataStream API 的基础知识。你将从中学到如何实现DataStream 应用以及Flink 所支持的流式转换、函数及数据类型等。? 第 6 章讨论 DataStream API 中基于时间的算子。其中包含窗口算子、基于时间的Join 以及一系列处理函数(process function),它们让流式应用中的时间处理变得十分灵活。? 第 7 章介绍如何实现有状态函数以及一些与之相关的问题,例如性能、健壮性、有状态函数的演变等。同时本章还会展示如何使用Flink 的可查询式状态。? 第 8 章介绍 Flink 中最常用的数据源(data source)和数据汇(data sink)连接器。其中会讨论Flink 中解决端到端应用一致性的方案以及如何实现自定义连接器来读写外部系统。? 第 9 章讨论如何针对不同环境搭建和配置 Flink 集群。? 第 10 章主要涵盖针对 7×24 小时运行的流处理应用的操作、监控和运维等内容。? 最后在第 11 章,我们提供了一些资源,以方便你提问、参与 Flink 相关活动并了解Flink 的现实应用场景。本书约定本书使用如下排版约定:斜体字(Italic)表示新的术语、链接、电子邮件地址、文件名和文件扩展名。等宽字体(Constant width)用于程序清单,在段落中引用程序元素,例如变量名、函数名、数据库、数据类型、环境变、代码语句和关键词等。也用于模块和包的名称,以及展示由用户按字面输入的命令或其他文本及命令输出。斜体等宽字体(Constant width italic)表示应替换为用户提供的值或由上下文确定的值来替换的文本。使用示例代码本书的补充材料(Java 和Scala 示例代码)可在https://github.com/streamingwith-flink 下载。本书的目的是帮助你完成工作。一般来说,书中提供的示例代码可用于你自己的程序或文档中。除非你复制了大量代码,否则无须联系我们获得许可。举例而言,你在编写的程序中用到了本书的几个代码块无需许可。不过销售或分发O’Reilly 系列书籍的示例CD-ROW 则需要获得许可。引用本书的示例代码来回答问题无需许可。而将本书中大量示例代码整合到产品文档中则需要获得许可。我们提倡但不强制要求归属权声明。归属权声明通常包括数名、作者、出版社以及ISBN。例如:“Stream Processing with Apache Flink by Fabian Hueske and Vasiliki Kalavri (O’Reilly). Copyright 2019 Fabian Hueske and Vasiliki Kalavri, 978-1-491-97429-2”。如果你觉得你对示例代码的使用超出了上述许可范围,可随时通过电子邮件permissions@oreilly.com 联系我们。O’Reilly 在线学习40 年来O’Reilly 一直在提供技术和商业培训、知识、见解,以帮助企业成功。我们专享的专家及创新者团队会通过书籍、文章、会议和在线学习平台等途径分享他们的知识和专业经验。O’Reilly 在线学习平台为你提供按需访问的实时培训课程,深入学习路径,交互式编码环境以及来自O’Reilly和200 多家其他出版商的大量文本及视频。欲了解更多信息,请访问http://oreilly.com。如何联系我们任何有关本书的意见或疑问,请按照以下地址联系出版社。美国:O’Reilly Media, Inc.1005 Gravenstein Highway NorthSebastopol, CA 95472中国:北京市西城区西直门南大街2 号成铭大厦C 座807 室(100035)奥莱利技术咨询(北京)有限公司我们为本书提供了一个网页,上面列出了勘误表、示例和其他附加信息,地址是: http://bit.ly/stream-proc。如果有技术问题或希望对本书提出建议,请发送电子邮件至:bookquestions@oreilly.com。欲获取更多有关我们的书籍、教

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP