基于ApacheFlink的流处理

基于ApacheFlink的流处理
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: , , ,
2019-12
版次: 1
ISBN: 9787519840112
定价: 88.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 344页
97人买过
  • Apache Flink项目的资深贡献者Fabian Hueske和Vasiliki Kalavri展示了如何使用Flink DataStream API实现可伸缩的流式应用,以及怎样在业务环境中持续运行和维护这些应用。流处理的理想应用场景有很多,包括低延迟ETL、流式分析、实时仪表盘以及欺诈检测、异常检测和报警。你可以在任意类型的持续数据(包括用户交互、金融交易和物联网等数据)生成后,立即对它们进行处理。 
    了解有关分布式状态化流处理的概念和挑战。 
    探索Flink的系统架构,包括事件时间处理模式和容错模型。 
    理解DataStream API的基础知识和构成要素,包括基于时间和有状态的算子。 
    以精确一次的一致性读写外部系统。 
    部署和配置Flink集群。 
    对持续运行的流式应用进行运维。 

    作者介绍 
      
    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 
    历史回顾 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 章 Apache Flink 架构 . 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 章 设置Apache Flink 开发环境  83 
    所需软件 .83 
    在IDE 中运行和调试Flink 程序 .84 
    在IDE 中导入书中示例 .84 
    在IDE 中运行Flink 程序 .87 
    在IDE 中调试Flink 程序 88 
    创建Flink Maven 项目 89 
    小结 .90 
    第5 章 DataStream API (1.7 版本) . 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 
    CoProcessFunction .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 
    内置连接器 213 
    Apache Kafka 数据源连接器 214 
    Apache Kafka 数据汇连接器 218 
    文件系统数据源连接器 222 
    文件系统数据汇连接器 224 
    Apache Cassandra 数据汇连接器 .228 
    实现自定义数据源函数 .232 
    可重置的数据源函数 233 
    数据源函数、时间戳及水位线 .235 
    实现自定义数据汇函数 .236 
    幂等性数据汇连接器 238 
    事务性数据汇连接器 239 
    异步访问外部系统 .248 
    小结 .251 
    第9 章 搭建Flink 运行流式应用  253 
    部署模式 .253 
    独立集群 254 
    Docker 256 
    Apache Hadoop YARN .258 
    Kubernetes 261 
    高可用性设置 266 
    独立集群的HA 设置 267 
    YARN 上的HA 设置 268 
    Kubernetes 的HA 设置 270 
    集成Hadoop 组件 270 
    文件系统配置 272 
    系统配置 .274 
    Java 和类加载.275 
    CPU 275 
    内存和网络缓冲 .276 
    磁盘存储 278 
    检查点和状态后端 .279 
    安全性 280 
    小结 .281 
    第10 章 Flink 和流式应用运维  283 
    运行并管理流式应用 .283 
    保存点 284 
    通过命令行客户端管理应用 285 
    通过REST API 管理应用 .292 
    在容器中打包并部署应用 298 
    控制任务调度 302 
    控制任务链接 .302 
    定义处理槽共享组 .303 
    调整检查点及恢复 .305 
    配置检查点.306 
    配置状态后端 .309 
    配置故障恢复 . 311 
    监控Flink 集群和应用 313 
    Flink Web UI 313 
    指标系统 316 
    延迟监控 322 
    配置日志行为 323 
    小结 .324 
    第11 章 还有什么? 325 
    Flink 生态的其他组成部分 325 
    用于批处理的DataSet API .325 
    用于关系型分析的Table API 及SQL 326 
    用于复杂事件处理和模式匹配的FlinkCEP .326 
    用于图计算的Gelly .327 
    欢迎加入社区 327 

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

  • 作者简介:
    作者介绍 
      
    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 
    历史回顾 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 章 Apache Flink 架构 . 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 章 设置Apache Flink 开发环境  83 
    所需软件 .83 
    在IDE 中运行和调试Flink 程序 .84 
    在IDE 中导入书中示例 .84 
    在IDE 中运行Flink 程序 .87 
    在IDE 中调试Flink 程序 88 
    创建Flink Maven 项目 89 
    小结 .90 
    第5 章 DataStream API (1.7 版本) . 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 
    CoProcessFunction .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 
    内置连接器 213 
    Apache Kafka 数据源连接器 214 
    Apache Kafka 数据汇连接器 218 
    文件系统数据源连接器 222 
    文件系统数据汇连接器 224 
    Apache Cassandra 数据汇连接器 .228 
    实现自定义数据源函数 .232 
    可重置的数据源函数 233 
    数据源函数、时间戳及水位线 .235 
    实现自定义数据汇函数 .236 
    幂等性数据汇连接器 238 
    事务性数据汇连接器 239 
    异步访问外部系统 .248 
    小结 .251 
    第9 章 搭建Flink 运行流式应用  253 
    部署模式 .253 
    独立集群 254 
    Docker 256 
    Apache Hadoop YARN .258 
    Kubernetes 261 
    高可用性设置 266 
    独立集群的HA 设置 267 
    YARN 上的HA 设置 268 
    Kubernetes 的HA 设置 270 
    集成Hadoop 组件 270 
    文件系统配置 272 
    系统配置 .274 
    Java 和类加载.275 
    CPU 275 
    内存和网络缓冲 .276 
    磁盘存储 278 
    检查点和状态后端 .279 
    安全性 280 
    小结 .281 
    第10 章 Flink 和流式应用运维  283 
    运行并管理流式应用 .283 
    保存点 284 
    通过命令行客户端管理应用 285 
    通过REST API 管理应用 .292 
    在容器中打包并部署应用 298 
    控制任务调度 302 
    控制任务链接 .302 
    定义处理槽共享组 .303 
    调整检查点及恢复 .305 
    配置检查点.306 
    配置状态后端 .309 
    配置故障恢复 . 311 
    监控Flink 集群和应用 313 
    Flink Web UI 313 
    指标系统 316 
    延迟监控 322 
    配置日志行为 323 
    小结 .324 
    第11 章 还有什么? 325 
    Flink 生态的其他组成部分 325 
    用于批处理的DataSet API .325 
    用于关系型分析的Table API 及SQL 326 
    用于复杂事件处理和模式匹配的FlinkCEP .326 
    用于图计算的Gelly .327 
    欢迎加入社区 327 

查看详情
您可能感兴趣 / 更多
基于ApacheFlink的流处理
无基百科(法语"漫"游系列)
Fabcaro 编;cdm 绘;Julien、萨日娜 注
基于ApacheFlink的流处理
昆虫记(精装版)
Fabre 著;[法]法布尔(Jean、Henri、陈筱卿 译
基于ApacheFlink的流处理
Sicily Sketchbook
Fabrice Moireau
基于ApacheFlink的流处理
Who Was Jane Austen?
Fabiny, Sarah;Hoare, Jerry
基于ApacheFlink的流处理
ComingHometoSicily
Fabrizia Lanza、Kate Winslow 著
基于ApacheFlink的流处理
BigBookOfBigBugs
Fabiano (Ill Fiorin Emily Bone 著
基于ApacheFlink的流处理
IntheSeaThereareCrocodiles:BasedontheTrueStoryofEnaiatollahAkbari
Fabio Geda 著
基于ApacheFlink的流处理
Investment Management 2e
Fabozzi, Frank J.,Markowitz, Harry M
基于ApacheFlink的流处理
IllustratedEncyclopediaoftheOcean
Fabien Cousteau(费边·库斯托) 著
基于ApacheFlink的流处理
SustainableIndustrialChemistry
Fabrizio Cavani、Gabriele Centi、Siglinda Perathoner、Ferruccio Trifirò 编
基于ApacheFlink的流处理
The Ivy Portfolio How to Invest Like the Top Endowments and Avoid Bear Markets
Faber, Mebane T.;Richardson, Eric W
基于ApacheFlink的流处理
EncyclopediaofStatisticsinQualityandReliability
Fabrizio Ruggeri、Ron Kenett、Frederick Faltin 编