基于Apache Flink的流处理

本书特色

[

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

]

内容简介

[

本书介绍了如何使用Flink DataStream API实现可伸缩的流式应用, 以及怎样在业务环境中持续运行和维护这些应用。主要内容包括: 状态化流处理概述、流处理基础、Apache Flink架构、设置Apache Flink开发环境、DataStream API (1.7版本) 等。

]

作者简介

[

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第1 章 状态化流处理概述 .7传统数据处理架构 .8事务型处理 8分析型处理.9状态化流处理 11事件驱动型应用 .13数据管道 14流式分析 15开源流处理的演变 .16历史回顾 17Flink 快览 18运行首个Flink 应用 .20小结 .23第2 章 流处理基础 . 25Dataflow 编程概述 25Dataflow 图 25数据并行和任务并行 26数据交换策略 .27并行流处理 28延迟和吞吐.28数据流上的操作 .31时间语义 .36流处理场景下一分钟的含义 37处理时间 38事件时间 39水位线 40处理时间与事件时间 41状态和一致性模型 .41任务故障 43结果保障 44小结 .46第3 章 Apache Flink 架构 . 47系统架构 .47搭建Flink 所需组件 .48应用部署 50任务执行 51高可用性设置 .52Flink 中的数据传输 .54基于信用值的流量控制 56任务链接 57事件时间处理 58时间戳 59水位线 59水位线传播和事件时间 61时间戳分配和水位线生成 63状态管理 .64算子状态 65键值分区状态 .66状态后端 68有状态算子的扩缩容 68检查点、保存点及状态恢复 71一致性检查点 .71从一致性检查点中恢复 72Flink 检查点算法 .74检查点对性能的影响 79保存点 79小结 .82第4 章 设置Apache Flink 开发环境 83所需软件 .83在IDE 中运行和调试Flink 程序 .84在IDE 中导入书中示例 .84在IDE 中运行Flink 程序 .87在IDE 中调试Flink 程序 88创建Flink Maven 项目 89小结 .90第5 章 DataStream API (1.7 版本) . 91Hello, Flink! 91设置执行环境 .93读取输入流.94应用转换 94输出结果 95执行 96转换操作 .96基本转换 97基于KeyedStream 的转换 100多流转换 104分发转换 108设置并行度 111类型 . 112支持的数据类型 . 113为数据类型创建类型信息 116显式提供类型信息 . 117定义键值和引用字段 . 118字段位置 118字段表达式. 119键值选择器.120实现函数 .121函数类 121Lambda 函数 122富函数 123导入外部和Flink 依赖 124小结 .125第6 章 基于时间和窗口的算子 127配置时间特性 127分配时间戳和生成水位线 129水位线、延迟及完整性问题 133处理函数 .134时间服务和计时器 .136向副输出发送数据 .138CoProcessFunction .140窗口算子 .141定义窗口算子 .142内置窗口分配器 .143在窗口上应用函数 .148自定义窗口算子 .155基于时间的双流Join .167基于间隔的Join .167基于窗口的Join .168处理迟到数据 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内置连接器 213Apache Kafka 数据源连接器 214Apache Kafka 数据汇连接器 218文件系统数据源连接器 222文件系统数据汇连接器 224Apache Cassandra 数据汇连接器 .228实现自定义数据源函数 .232可重置的数据源函数 233数据源函数、时间戳及水位线 .235实现自定义数据汇函数 .236幂等性数据汇连接器 238事务性数据汇连接器 239异步访问外部系统 .248小结 .251第9 章 搭建Flink 运行流式应用 253部署模式 .253独立集群 254Docker 256Apache Hadoop YARN .258Kubernetes 261高可用性设置 266独立集群的HA 设置 267YARN 上的HA 设置 268Kubernetes 的HA 设置 270集成Hadoop 组件 270文件系统配置 272系统配置 .274Java 和类加载.275CPU 275内存和网络缓冲 .276磁盘存储 278检查点和状态后端 .279安全性 280小结 .281第10 章 Flink 和流式应用运维 283运行并管理流式应用 .283保存点 284通过命令行客户端管理应用 285通过REST API 管理应用 .292在容器中打包并部署应用 298控制任务调度 302控制任务链接 .302定义处理槽共享组 .303调整检查点及恢复 .305配置检查点.306配置状态后端 .309配置故障恢复 . 311监控Flink 集群和应用 313Flink Web UI 313指标系统 316延迟监控 322配置日志行为 323小结 .324第11 章 还有什么? 325Flink 生态的其他组成部分 325用于批处理的DataSet API .325用于关系型分析的Table API 及SQL 326用于复杂事件处理和模式匹配的FlinkCEP .326用于图计算的Gelly .327欢迎加入社区 327

封面

基于Apache Flink的流处理

书名:基于Apache Flink的流处理

作者:Fabian Hueske,Vasili

页数:328页

定价:¥88.0

出版社:中国电力出版社

出版日期:2020-01-01

ISBN:9787519840112

PDF电子书大小:105MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注