现货二手 若套装 先联系客服确认
¥ 11.5 1.3折 ¥ 89 九品
库存11件
作者汪明
出版社清华大学出版社
ISBN9787302583813
出版时间2021-08
装帧平装
定价89元
货号9787302583813
上书时间2024-07-28
基本信息
书名:Flink入门与实战
定价:89.00元
作者:汪明
出版社:清华大学出版社
出版日期:2021年08月 
ISBN:9787302583813
字数:
页码:
版次:
装帧:
开本:
商品标识:9787302583813
[chatu]
编辑推荐
内容提要
Apache Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态的计算,广泛应用于大数据相关的实际业务场景中。本书是一本从零开始讲解Flink的入门教材,学习本书需要有Java编程基础。 本书共分10章,内容包括Flink开发环境搭建、Flink架构和原理、时间和窗口、状态管理和容错机制、数据类型与序列化、DataStream API和DataSet API、Table API和SQL、Flink并行、Flink部署与应用,后以一个Flink实战项目为例,对Flink相关知识进行综合实践,其中涉及Web页面展示、WebSocket协议和Node.js服务等技术。 本书内容详尽、示例丰富,适合作为Flink初学者的参考书,也非常适合作为高等院校和培训机构大数据及相关专业的师生教学参考。
目录
第1章 Flink环境搭建 1
1.1 下载安装 1
1.1.1 什么是Flink 1
1.1.2 Flink用户 3
1.1.3 JDK安装 4
1.1.4 Scala安装 7
1.1.5 Python安装 10
1.1.6 FinalShell安装 12
1.2 配置与开发工具 15
1.2.1 基础配置 15
1.2.2 IDEA开发工具 17
1.3 编译 19
1.3.1 Scala项目模板 19
1.3.2 Java项目模板 24
第1章 Flink环境搭建 1
1.1 下载安装 1
1.1.1 什么是Flink 1
1.1.2 Flink用户 3
1.1.3 JDK安装 4
1.1.4 Scala安装 7
1.1.5 Python安装 10
1.1.6 FinalShell安装 12
1.2 配置与开发工具 15
1.2.1 基础配置 15
1.2.2 IDEA开发工具 17
1.3 编译 19
1.3.1 Scala项目模板 19
1.3.2 Java项目模板 24
1.3.3 Python项目 28
1.3.4 项目编译 30
1.4 运行Flink应用 31
1.4.1 单机Standalone模式 31
1.4.2 多机Standalone模式 37
1.4.3 On Yarn集群模式 37
1.5 本章小结 38
第2章 定义、架构与原理 39
2.1 流处理的应用场景 39
2.1.1 数据预处理场景 40
2.1.2 预警场景 40
2.1.3 实时数量统计场景 40
2.1.4 数据库交互场景 40
2.1.5 跟踪场景 40
2.1.6 基于数据流的机器学习场景 41
2.1.7 实时自动控制场景 41
2.2 流处理的原理 41
2.2.1 流数据特征 41
2.2.2 Dataflow模型 42
2.2.3 数据流图 43
2.2.4 流处理操作 45
2.2.5 窗口操作 46
2.3 Flink架构分析 49
2.3.1 Flink常见概念 49
2.3.2 Flink主从架构 51
2.3.3 任务和算子链 52
2.4 Flink中的几个语义——Streams、State、Time、API 53
2.4.1 Streams流 53
2.4.2 State状态 54
2.4.3 Time时间 55
2.4.4 API接口 55
2.5 Flink组件 56
2.6 本章小结 57
第3章 时间和窗口 58
3.1 时间 58
3.1.1 Flink中的时间 58
3.1.2 时间的特性 60
3.2 Timestamp和Watermark 61
3.2.1 在SourceFunction中生成 61
3.2.2 在assignTimestampsAndWatermarks中生成 64
3.2.3 Watermarks传播机制 83
3.3 EventTime Watermark解决乱序数据 95
3.3.1 无迟到的乱序数据 96
3.3.2 有迟到的乱序数据 104
3.4 WindowAssigner、Evictor以及Trigger 109
3.4.1 WindowAssigner 111
3.4.2 Trigger 116
3.4.3 Evictor 122
3.5 Window内部实现 126
3.5.1 Flink Window源码分析 126
3.5.2 Flink Window执行过程 130
3.6 Window使用 131
3.6.1 Time Window 131
3.6.2 Count Window 135
3.6.3 Session Window 138
3.6.4 自定义Window 140
3.7 Window聚合分类 144
3.7.1 增量聚合 144
3.7.2 全量聚合 146
3.8 本章小结 149
第4章 状态管理及容错机制 150
4.1 什么是状态 150
4.2 什么场景会用到状态 150
4.3 状态的类型与使用 151
4.3.1 Keyed State托管状态 152
4.3.2 Operator State托管状态 159
4.4 Checkpoint机制 162
4.4.1 Checkpoint配置 163
4.4.2 State Backends状态后端 164
4.4.3 重启策略 165
4.5 SavePoint机制 169
4.6 本章小结 169
第5章 数据类型与序列化 170
5.1 Flink的数据类型 170
5.1.1 元组类型 171
5.1.2 Java POJOs类型 172
5.1.3 Scala样例类 173
5.1.4 基础类型 174
5.1.5 普通类 175
5.1.6 值类型 177
5.1.7 特殊类型 177
5.2 序列化原理 178
5.3 Flink的序列化过程 181
5.4 序列化的实践 186
5.5 本章小结 186
第6章 DataStream API和DataSet API 187
6.1 DataStream API 187
6.1.1 DataSources数据输入 187
6.1.2 DataSteam转换操作 195
6.1.3 DataSinks数据输出 214
6.2 DataSet API 222
6.2.1 DataSources数据输入 223
6.2.2 DataSet转换操作 227
6.2.3 DataSinks数据输出 235
6.3 迭代计算 238
6.3.1 全量迭代 239
6.3.2 增量迭代 240
6.4 广播变量与分布式缓存 244
6.4.1 广播变量 244
6.4.2 分布式缓存 246
6.5 语义注解 248
6.5.1 Forwarded Fileds注解 248
6.5.2 Non-Forwarded Fileds注解 249
6.5.3 Read Fields注解 250
6.6 本章小结 251
第7章 Table API和SQL 252
7.1 TableEnviroment 252
7.1.1 开发环境构建 253
7.1.2 TableEnvironment基本操作 254
7.1.3 外部连接器 257
7.1.4 时间概念 261
7.1.5 Temporal Tables时态表 263
7.2 WordCount 267
7.3 Table API的操作 268
7.3.1 获取Table 268
7.3.2 输出Table 272
7.3.3 查询Table 275
7.3.4 聚合操作 277
7.3.5 多表关联 278
7.3.6 集合操作 279
7.3.7 排序操作 281
7.4 DataStream、DataSet和Table之间的转换 282
7.4.1 DataStream to Table 283
7.4.2 DataSet to Table 284
7.4.3 Table to DataStream 285
7.4.4 Table to DataSet 287
7.5 window aggregate与non-window aggregate 288
7.6 Flink SQL使用 297
7.6.1 使用SQL CLI客户端 298
7.6.2 在流上运行SQL查询 299
7.6.3 Group Windows窗口操作 300
7.6.4 多表关联 306
7.6.5 集合操作 307
7.6.6 去重操作 308
7.6.7 Top-N操作 310
7.6.8 数据写入 311
7.7 自定义函数 313
7.7.1 Scalar Function 313
7.7.2 Table Function 315
7.7.3 Aggregation Function 317
7.8 本章小结 319
第8章 并行 320
8.1 Flink并行度 320
8.2 TaskManager和Slot 321
8.3 并行度的设置 322
8.3.1 执行环境层面 322
8.3.2 操作算子层面 323
8.3.3 客户端层面 324
8.3.4 系统层面 324
8.3.5 并行度 324
8.4 并行度案例分析 325
8.5 本章小结 329
第9章 Flink部署与应用 330
9.1 Flink集群部署 330
9.1.1 Standalone Cluster部署 330
9.1.2 Yarn Cluster部署 333
9.1.3 Kubernetes Cluster部署 334
9.2 Flink高可用配置 340
9.2.1 Standalone集群高可用配置 340
9.2.2 Yarn Session集群高可用配置 341
9.3 Flink安全管理 341
9.3.1 认证目标 341
9.3.2 认证配置 342
9.3.3 SSL配置 343
9.4 Flink集群升级 344
9.4.1 任务重启 344
9.4.2 状态维护 344
9.4.3 版本升级 344
9.5 本章小结 345
第10章 Flink项目实战 346
10.1 实时数据清洗(实时ETL) 346
10.1.1 需求分析 346
10.1.2 项目架构设计 346
10.1.3 项目代码实现 347
10.2 实时数据报表 357
10.2.1 需求分析 357
10.2.2 项目架构设计 357
10.2.3 项目代码实现 357
10.3 本章小结 362
作者介绍
汪明,中国矿业大学硕士,徐州软件协会副理事长,某创业公司合伙人。从事软件行业十余年,发表论文数十篇。著有图书《Python大数据处理库PySpark实战》《TypeScript实战》《Go并发编程实战》。
文摘
[chatu]
媒体推荐
— 没有更多了 —
以下为对购买帮助不大的评价