展开全部

主编推荐语

基于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提供的扩展功能。

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

目录

  • 版权信息
  • 内容简介
  • 前言
  • 第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 本章总结
  • 反侵权盗版声明
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

电子工业出版社

电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。