剑指大数据:Flink学习精要(Scala版)

剑指大数据:Flink学习精要(Scala版)

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

基于Flink1.13,从基础到高级,详细讲解DataStreamAPI和高层级API的使用及实际应用。

内容简介

本书基于流行稳定版Flink1.13进行讲解,从Flink数据处理思想开始讲起,带你深入理解Flink的基本架构,进而由浅入深结合具体案例进行讲解。

本书详细剖析了Flink中DataStreamAPI的使用,并对Flink中的时间语义、状态、容错机制等重要概念进行了详尽的阐释。同时,本书还对实际开发过程中常用的FlinkSQL、CEP等高层级API进行了细致讲解,以电商网站中的实际应用为场景,提供了大量的代码实现。

本书分为12章:第1~5章,带你初步认识Flink并编写基本的Flink程序;第6~10章,深入探讨了Flink内部的高级应用。第11~12章,讲解了Flink提供的扩展功能。

本书适用于大数据的学习者与从业人员,以及院校大数据相关专业的学生,也是大数据学习的必备书籍。

作者简介

尚硅谷教育,一家专业的IT教育培训机构,开设了JavaEE、大数据、HTML5前端等多门学科,在互联网上发布的JavaEE、大数据、HTML5前端、区块链、C语言、Python等技术视频教程广受赞誉。

章节目录

版权信息

内容简介

前言

第1章 初识Flink

1.1 Flink的起源和设计理念

1.2 Flink的应用

1.2.1 Flink在企业中的应用

1.2.2 Flink主要的应用场景

1.3 流式数据处理的发展和演变

1.3.1 流处理和批处理

1.3.2 传统事务处理

1.3.3 有状态的流处理

1.3.4 Lambda架构

1.3.5 新一代流处理器

1.4 Flink的特性总结

1.4.1 Flink的核心特性

1.4.2 分层API

1.5 Flink与Spark

1.5.1 数据处理架构

1.5.2 数据模型和运行架构

1.5.3 Spark还是Flink

1.6 本章总结

第2章 Flink快速上手

2.1 环境准备

2.2 创建项目

2.3 编写代码

2.3.1 批处理

2.3.2 流处理

2.4 本章总结

第3章 Flink部署

3.1 快速启动一个Flink集群

3.1.1 环境配置

3.1.2 本地启动

3.1.3 集群启动

3.1.4 向集群提交作业

3.2 部署模式

3.2.1 会话模式

3.2.2 单作业模式

3.2.3 应用模式

3.3 独立模式

3.3.1 会话模式部署

3.3.2 单作业模式部署

3.3.3 应用模式部署

3.3.4 高可用

3.4 YARN模式

3.4.1 相关准备和配置

3.4.2 会话模式部署

3.4.3 单作业模式部署

3.4.4 应用模式部署

3.4.5 高可用

3.5 K8s模式

3.6 本章总结

第4章 Flink运行时架构

4.1 系统架构

4.1.1 整体构成

4.1.2 JobManager

4.1.3 TaskManager

4.2 作业提交流程

4.2.1 高层级抽象视角

4.2.2 独立模式

4.2.3 YARN集群

4.3 一些重要概念

4.3.1 数据流图

4.3.2 并行度

4.3.3 算子链

4.3.4 作业图与执行图

4.3.5 任务和任务槽

4.4 本章总结

第5章 DataStream API基础篇

5.1 执行环境

5.1.1 创建执行环境

5.1.2 执行模式

5.1.3 触发程序执行

5.2 数据源

5.2.1 准备工作

5.2.2 从集合中读取数据

5.2.3 从文件读取数据

5.2.4 从Socket读取数据

5.2.5 从Kafka读取数据

5.2.6 自定义数据源

5.2.7 Flink支持的数据类型

5.3 转换操作

5.3.1 基本转换算子

5.3.2 聚合算子

5.3.3 用户自定义函数

5.3.4 物理分区

5.4 输出

5.4.1 连接到外部系统

5.4.2 输出到文件

5.4.3 输出到Kafka

5.4.4 输出到Redis

5.4.5 输出到Elasticsearch

5.4.6 输出到MySQL

5.4.7 自定义Sink输出

5.5 本章总结

第6章 Flink中的时间和窗口

6.1 时间语义

6.1.1 Flink中的时间语义

6.1.2 哪种时间语义更重要

6.2 水位线

6.2.1 事件时间和窗口

6.2.2 什么是水位线

6.2.3 如何生成水位线

6.2.4 水位线的传递

6.2.5 水位线的总结

6.3 窗口

6.3.1 窗口的概念

6.3.2 窗口的分类

6.3.3 窗口API概览

6.3.4 窗口分配器

6.3.5 窗口函数

6.3.6 测试水位线和窗口的使用

6.3.7 其他API

6.3.8 窗口的生命周期

6.4 迟到数据的处理

6.4.1 设置水位线延迟时间

6.4.2 允许窗口处理迟到数据

6.4.3 将迟到数据放入窗口侧输出流

6.5 本章总结

第7章 处理函数

7.1 基本处理函数

7.1.1 处理函数的功能和使用

7.1.2 ProcessFunction解析

7.1.3 处理函数的分类

7.2 按键分区处理函数

7.2.1 定时器和定时服务

7.2.2 KeyedProcessFunction的使用

7.3 窗口处理函数

7.3.1 窗口处理函数的使用

7.3.2 ProcessWindowFunction解析

7.4 应用案例——Top N

7.4.1 使用ProcessAllWindowFunction

7.4.2 使用KeyedProcessFunction

7.5 侧输出流

7.6 本章总结

第8章 多流转换

8.1 分流

8.1.1 简单实现

8.1.2 使用侧输出流

8.2 基本合流操作

8.2.1 联合

8.2.2 连接

8.3 基于时间的合流——联结

8.3.1 窗口联结

8.3.2 间隔联结

8.3.3 窗口同组联结

8.4 本章总结

第9章 状态编程

9.1 Flink中的状态

9.1.1 有状态算子

9.1.2 状态的管理

9.1.3 状态的分类

9.2 按键分区状态

9.2.1 基本概念和特点

9.2.2 支持的结构类型

9.2.3 代码实现

9.2.4 状态生存时间

9.3 算子状态

9.3.1 基本概念和特点

9.3.2 状态类型

9.3.3 代码实现

9.4 广播状态

9.4.1 基本用法

9.4.2 代码实例

9.5 状态持久化和状态后端

9.5.1 检查点

9.5.2 状态后端

9.6 本章总结

第10章 容错机制

10.1 检查点

10.1.1 检查点的保存

10.1.2 从检查点恢复状态

10.1.3 检查点算法

10.1.4 检查点配置

10.1.5 保存点

10.2 状态一致性

10.2.1 一致性的概念和级别

10.2.2 端到端的状态一致性

10.3 端到端精确一次

10.3.1 输入端保证

10.3.2 输出端保证

10.3.3 Flink和Kafka连接时的精确一次保证

10.4 本章总结

第11章 Table API和SQL

11.1 快速上手

11.1.1 需要引入的依赖

11.1.2 一个简单示例

11.2 基本API

11.2.1 程序架构

11.2.2 创建表环境

11.2.3 创建表

11.2.4 表的查询

11.2.5 输出表

11.2.6 表和流的转换

11.3 流处理中的表

11.3.1 动态表和持续查询

11.3.2 将流转换成动态表

11.3.3 用SQL持续查询

11.3.4 将动态表转换为流

11.4 时间属性和窗口

11.4.1 事件时间

11.4.2 处理时间

11.4.3 窗口

11.5 聚合查询

11.5.1 分组聚合

11.5.2 窗口聚合

11.5.3 开窗聚合

11.5.4 应用实例——Top N

11.6 联结查询

11.6.1 常规联结查询

11.6.2 间隔联结查询

11.7 函数

11.7.1 系统函数

11.7.2 自定义函数

11.8 SQL客户端

11.9 连接到外部系统

11.9.1 Kafka

11.9.2 文件系统

11.9.3 JDBC

11.9.4 Elasticsearch

11.9.5 HBase

11.9.6 Hive

11.10 本章总结

第12章 Flink CEP

12.1 基本概念

12.1.1 CEP是什么

12.1.2 模式

12.1.3 应用场景

12.2 快速上手

12.2.1 需要引入的依赖

12.2.2 一个简单实例

12.3 模式API

12.3.1 个体模式

12.3.2 组合模式

12.3.3 模式组

12.3.4 匹配后跳过策略

12.4 模式的检测处理

12.4.1 将模式应用到流上

12.4.2 处理匹配事件

12.4.3 处理超时事件

12.4.4 处理迟到数据

12.5 CEP的状态机实现

12.6 本章总结

反侵权盗版声明

剑指大数据:Flink学习精要(Scala版)是2022年由电子工业出版社出版,作者尚硅谷教育 编著。

得书感谢您对《剑指大数据:Flink学习精要(Scala版)》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
图解42式太极剑(精编视频学习版) 电子书
图解42式太极剑由国家运动健将、武术套路锦标赛太极拳太极剑全能冠军高崇示范及指导。在简要介绍太极剑的起源和发展等背景知识的基础上,以高清连拍图结合细致的文字说明的方式,对太极剑的基本动作练习和42式太极剑连贯套路进行了讲解,可作为太极剑初学者的学习指南。此外,提供了一系列的在线学习视频,帮助练习者跟着专业教练轻松学习太极剑。
Spark大数据实时计算:基于Scala开发实战 电子书
通过实用技术和实战案例,让你轻松掌握大数据实时计算的方法。
Flink原理与实践 电子书
本书围绕大数据流处理领域,介绍FlinkDataStreamAPI、时间和窗口、状态和检查点、TableAPI&SQL等知识。书中以实践为导向,使用大量真实业务场景案例来演示如何基于Flink进行流处理。
Flink入门与实战 电子书
深入浅出展现Flink技术精髓,力求详细而完整地描述Flink大数据项目实战,从零开始快速掌握Flink的基本原理和核心功能。
剑指新三板:操作实务+案例分析+税务筹划 电子书
本书是一部解决拟挂牌新三板企业上市操作和税务筹划的实务指南,从新三板的基础知识开始讲解,透过50多个已成功挂牌新三板的成功案例,深度分析新三板挂牌上市疑难问题并提供解决方案。还针对企业在成功挂牌新三板后如何延伸发展和利用新三板的税收优惠政策的问题,单独用一章内容对新三板的税务架构和税务筹划进行了专门讲解,并提供多个税务架构供读者参考,具有很强的实操性和可借鉴性。本书适合准备在新三板上市的股东、企业