作品简介

本书围绕大数据流处理领域,介绍Flink DataStream API、时间和窗口、状态和检查点、Table API和SQL等知识。本书以实践为导向,使用大量真实业务场景案例来演示如何基于Flink进行流处理。本书主要面向对大数据领域感兴趣的本科生、研究生,想转行到大数据开发行业的在职人员,或有一定大数据开发经验的相关从业人员。读者最好有一定的Java或Scala编程基础,掌握计算机领域的常见技术概念。

鲁蔚征

前小米工程师,现中国人民大学教师,一直从事大数据相关的开发和研究工作,关注大数据行业的发展,先后接触了Hadoop、Hive、Kafka、Spark、TensorFlow等大数据中间件,在大数据的流处理和批处理方向上有一定的实际工作经验。主要研究项目及领域为推荐系统、大数据。今日头条科技领域优质创作者。

作品目录

  • 内容提要
  • 前言
  • 第1章 大数据技术概述
  • 1.1 什么是大数据
  • 1.2 从批处理到流处理
  • 1.3 代表性大数据技术
  • 1.4 从Lambda到Kappa:大数据处理平台的演进
  • 1.5 流处理基础概念
  • 1.6 编程语言的选择
  • 1.7 案例实战使用Kafka构建文本数据流
  • 本章小结
  • 第2章 大数据必备编程知识
  • 2.1 继承和多态
  • 2.2 泛型
  • 2.3 函数式编程
  • 2.4 案例实战Flink开发环境搭建
  • 本章小结
  • 第3章 Flink的设计与运行原理
  • 3.1 Flink数据流图简介
  • 3.2 Flink分布式架构与核心组件
  • 3.3 任务执行与资源划分
  • 3.4 实验WordCount程序迭代和完善
  • 本章小结
  • 第4章 DataStream API的介绍和使用
  • 4.1 Flink程序的骨架结构
  • 4.2 常见Transformation的使用方法
  • 4.3 数据类型和序列化
  • 4.4 用户自定义函数
  • 4.5 实验股票价格数据流处理
  • 本章小结
  • 第5章 时间和窗口
  • 5.1 Flink的时间语义
  • 5.2 ProcessFunction系列函数
  • 5.3 窗口算子的使用
  • 5.4 双流连接
  • 5.5 处理迟到数据
  • 5.6 实验股票价格数据进阶分析
  • 本章小结
  • 第6章 状态和检查点
  • 6.1 实现有状态的计算
  • 6.2 Checkpoint机制的原理及配置方法
  • 6.3 Savepoint机制的原理及使用方法
  • 6.4 实验电商平台用户行为分析
  • 本章小结
  • 第7章 Flink连接器
  • 7.1 Flink端到端的Exactly-Once保障
  • 7.2 自定义Source和Sink
  • 7.3 Flink中常用的Connector
  • 7.4 实验读取并输出股票价格数据流
  • 本章小结
  • 第8章 Table API & SQL的介绍和使用
  • 8.1 Table API & SQL综述
  • 8.2 动态表和持续查询
  • 8.3 时间和窗口
  • 8.4 Join
  • 8.5 SQL DDL
  • 8.6 系统内置函数
  • 8.7 用户自定义函数
  • 8.8 实验使用Flink SQL处理IoT数据
  • 本章小结
  • 第9章 Flink的部署和配置
  • 9.1 Flink集群部署模式
  • 9.2 配置文件
  • 9.3 算子链与槽位共享
  • 9.4 命令行工具
  • 9.5 与Hadoop集成
  • 9.6 实验作业编码、打包与提交
  • 本章小结
  • 参考文献
展开全部