搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
出版时间 :
无库存
Flink SQL与DataStream:入门、进阶与实战
0.00     定价 ¥ 129.00
湖州市图书馆
此书还可采购4本,持证读者免费借回家
  • ISBN:
    9787111739029
  • 作      者:
    羊艺超
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2023-12-01
收藏
编辑推荐
(1)作者背景资深:某头部短视频平台Flink专家,拥有多年流式计算开发、优化、保障和治理经验,对Flink大数据计算引擎有着深入的理解。
(2)作者经验丰富:有从0到1使用Flink SQL建设实时数仓的经验,在Flink场景化应用方面有丰富的经验,能够使用Flink等技术组件解决千万级别QPS的实时数据场景下的痛点问题。
(3)双重视角展开:从Flink使用和定制开发双重视角,循序渐进讲解Flink的分布式系统架构设计、流计算API设计、时间处理、状态管理等核心技术的原理和实现。
(4)理论深入详细:除了Flink的架构设计和核心技术的原理外,本书还详细讲解了SQL API、Table API、DataStream API 和有状态流处理 API四大API的细节。
(5)注重工程实战:用大量案例和图表详解用Java和Flink SQL开发Flink流处理作业的方法和过程,掌握工程化实践能力。
展开
作者简介
羊艺超
资深大数据开发工程师,现就职于某头部短视频公司。拥有多年流式计算开发、优化、保障和治理经验,以及从0到1使用Flink SQL建设实时数仓的经验。对Flink大数据计算引擎有着深入的理解,在Flink的场景化应用方面有丰富的经验,能够使用Flink等技术组件解决千万级别QPS的实时数据场景下的痛点问题。开源了自己的 Flink 学习项目 https://github.com/yangyichao-mango/flink-study。对Redis、Kafka、ClickHouse等实时数仓构建过程中依赖的引擎都较为熟悉。个人微信公众号:大数据羊说。发表了数十篇关于实时数仓建设的原创文章,深受读者喜爱。
展开
目录
Contents目  录
前 言
第1章 初识Flink 1
1.1 Flink定位 1
1.1.1 Flink是什么 2
1.1.2 Flink对于数据的定义 3
1.1.3 Flink的3种应用场景 4
1.1.4 Flink的3个企业应用案例 7
1.2 Flink的核心特性 9
1.2.1 Flink的5个核心特性 9
1.2.2 3种流处理引擎特性的对比 10
1.3 Flink的API 11
1.3.1 Code API 11
1.3.2 关系型API 13
1.4 与Flink搭配使用的引擎 15
1.5 本章小结 16
第2章Flink WordCount作业开发
及运行 17
2.1 基础环境准备 17
2.2 创建一个Flink项目 18
2.3 Flink WordCount代码案例 21
2.4 Flink作业的骨架结构 24
2.5 本章小结 25
第3章Flink分布式架构及核心
概念 26
3.1分布式应用与非分布式应用的
异同 27
3.2 Flink作业的运行时架构 28
3.2.1 Flink作业提交部署流程 28
3.2.2 Client 30
3.2.3 JobManager 30
3.2.4 TaskManager 31
3.3 Flink作业的3种部署模式 31
3.3.1 Session模式 32
3.3.2 Per-Job模式 33
3.3.3 Application模式 35
3.4 Flink作业的2种资源提供框架 36
3.4.1 Standalone 36
3.4.2 YARN 40
3.5开发Flink作业时涉及的核心
概念 42
3.5.1 Function 44
3.5.2 Operator 44
3.5.3 算子并行度 46
3.5.4 Operator Chain 49
3.5.5 Task和SubTask 52
3.5.6 Task Slot和共享Task Slot 53
3.5.7 算子最大并行度 54
3.6 Flink Web UI 56
3.6.1 概览模块 57
3.6.2 Flink作业详情 58
3.7 本章小结 64
第4章 Flink DataStream API 65
4.1 什么是DataStream 65
4.2 执行环境 66
4.3 数据源 67
4.3.1从数据源存储引擎中读取数据
的API 67
4.3.2 从Socket中读取数据 69
4.3.3 从Kafka中读取数据 69
4.3.4 从自定义数据源中读取数据 74
4.4 数据简单转换 76
4.4.1 单流的3种数据简单转换 76
4.4.2 多流的4种数据简单转换 80
4.5 数据分组与聚合 84
4.5.1 KeyBy 85
4.5.2 Max、Min和Sum 88
4.5.3 Reduce 92
4.6 数据汇 95
4.6.1向数据汇存储引擎写数据的
API 95
4.6.2 向控制台输出数据 95
4.6.3 向Kafka写入数据 96
4.6.4 向自定义数据汇写入数据 99
4.7 算子间数据传输的8种策略 100
4.7.1 Forward 100
4.7.2 Rebalance 103
4.7.3 Shuff?le 106
4.7.4 KeyGroup 106
4.7.5 Rescale 107
4.7.6 Broadcast 108
4.7.7 Global 110
4.7.8 Custom Partition 110
4.8 数据异步I/O处理 112
4.8.1同步I/O处理导致作业
低吞吐 112
4.8.2同步I/O处理低吞吐的4种
解决方案 113
4.8.3 异步I/O处理原理 113
4.8.4 异步I/O处理API 114
4.8.5异步I/O处理API的注意
事项 117
4.9 RichFunction 118
4.10 数据序列化 121
4.10.1Flink数据序列化机制的
诞生过程 122
4.10.2Flink支持的7种数据
类型 123
4.10.3TypeInformation与
TypeSerializer 125
4.10.4Java Lambda表达式对数据
序列化的影响 127
4.10.5 使用注意事项 129
4.11 工具类及Debug建议 131
4.11.1 ParameterTool 131
4.11.2 Debug建议 132
4.12 本章小结 132
第5章Flink的时间语义和
时间窗口 134
5.1 时间语义和时间窗口概述 134
5.2 时间窗口 137
5.2.1 Flink中的时间窗口 138
5.2.2 为什么需要时间窗口 139
5.2.3时间窗口程序的骨架
结构 141
5.2.4 时间窗口的计算机制 143
5.2.5 窗口分配器 145
5.2.6 窗口处理函数 154
5.2.7 窗口触发器 169
5.3 时间语义 176
5.3.1 处理时间 177
5.3.2 事件时间 178
5.3.3 摄入时间 180
5.4 Watermark 180
5.4.1 Watermark的诞生背景 180
5.4.2 Watermark的定义及特点 185
5.4.3 Watermark的传输策略 187
5.4.4使用Watermark缓解数据
乱序问题 193
5.4.5 生成Watermark的API 196
5.5 双流数据时间窗口关联 204
5.5.1 时间窗口关联 205
5.5.2 时间窗口CoGroup操作 208
5.5.3 时间区间关联 210
5.6 计数窗口 213
5.7生产中的常见问题及解决
方案 215
5.7.1事件时间窗口不触发计算的
3种原因及解决方案 216
5.7.2事件时间窗口数据乱序问题
的体系化解决方案 223
5.7.3windowAll()方法导致数据
倾斜问题的解决方案 230
5.7.4扩展思考?:Watermark是否
只能从时间戳中取值 233
5.8 本章小结 233
第6章Flink状态原理及异常
容错机制 235
6.1 Flink有状态计算 235
6.1.1 状态及有状态计算的定义 235
6.1.2Flink有状态计算的
4类应用 237
6.1.3传统有状态计算方案应用于
大数据场景时存在的
3个问题 237
6.1.4Flink实现有状态计算的
思路 240
6.1.5Flink实现有状态计算面临的
2个难题 248
6.1.6 Flink有状态计算总结 251
6.2 Flink状态接口 252
6.2.1 Flink状态的分类 252
6.2.2 算子状态 257
6.2.3 键值状态 269
6.2.4 广播状态 286
6.2.5 键值状态保留时长 294
6.2.6 F
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

温馨提示:请使用湖州市图书馆的读者帐号和密码进行登录

点击获取验证码
登录