猜你喜欢
Flink SQL与DataStream

Flink SQL与DataStream

书籍作者:羊艺超 ISBN:9787111739029
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:9170
创建日期:2024-05-06 发布日期:2024-05-06
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

这是一本从使用和定制开发双重视角,循序渐进地讲解Flink的分布式系统架构设计、流计算API设计、时间处理、状态管理等核心技术的原理和实现的著作。
它面向Flink的初学者,内容沿着基础知识、实际问题和解决方案这条主线展开,不仅层层剖析了Flink学习中的重点和难点,而且还通过大量案例展示了如何快速获得工程化实践能力。

全书共11章,主要内容如下:
(1)Flink基础知识(第1、2章)
主要介绍了Flink的定位、核心特性、API分类,演示了如何搭建Flink作业的基础环境、如何创建一个Flink项目以及如何开发入门应用程序WordCount,并结合该应用程序说明了常见Flink作业的骨架结构。
(2)Flink分布式架构及核心概念(第3章)
主要内容包括Flink作业的运行时架构、部署模式、资源提供框架,以及开发 Flink作业时涉及的核心概念,对于后续学习Flink DataStream API和Flink SQL API很有帮助。
(3)Flink DataStream API(第4~6章)
讲解了Flink DataStream API的核心知识,包括执行环境、数据源、数据简单转换、数据分组与聚合、数据汇等,并讲解了Flink DataStream API中的时间语义、时间窗口、有状态计算和检查点这四大“王*牌武器”的由来与实现原理。
(4)Flink有状态流处理API(第7章)
Flink DataStream API不能优雅地解决窗口使用不灵活和分流成本高这两个问题,于是Flink提供了有状态流处理API。本章主要讲解了Flink有状态流处理API解决上述两个问题的方法。
(5)Flink Table API与SQL API(第8~11章)
Flink Table API和Flink SQL API的底层原理相同,可以相互转换,但Flink SQL API更为简单和常用。这4章分别介绍了Flink Table API、Flink SQL API 的功能,以及使用SQL实现流处理的核心技术,结合大量代码示例着重介绍了Flink SQL API的语法、函数、参数配置及性能优化方法。

作者简介

羊艺超
资深大数据开发工程师,现就职于某头部短视频公司。拥有多年流式计算开发、优化、保障和治理经验,以及从0到1使用Flink SQL建设实时数仓的经验。对Flink大数据计算引擎有着深入的理解,在Flink的场景化应用方面有丰富的经验,能够使用Flink等技术组件解决千万级别QPS的实时数据场景下的痛点问题。开源了自己的 Flink 学习项目 https://github.com/yangyichao-mango/flink-study。对Redis、Kafka、ClickHouse等实时数仓构建过程中依赖的引擎都较为熟悉。个人微信公众号:大数据羊说。发表了数十篇关于实时数仓建设的原创文章,深受读者喜爱。

编辑推荐
适读人群 :1. 大数据开发工程师2. 数据平台开发工程师

(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流处理作业的方法和过程,掌握工程化实践能力。

前言

【为什么要写这本书】
相比于国内很多用户来说,我接触Flink的时间不算长,我是从2019年开始学习和使用Flink解决工作中遇到的问题的,那么是什么原因促使我写这本书?
第一,我想把我对Flink特性的理解进行系统的总结。我在初期学习Flink时,在窗口、有状态计算等特性的学习上投入的成本是比较高的。随着使用Flink越来越多,对Flink的各种特性越来越熟悉,我将自己对于Flink的理解和使用经验整理成文章,并且发布在公众号“大数据羊说”上。随着公众号的读者越来越多,我也收到了越来越多的反馈。总结下来,我的文章能够吸引读者的亮点在于,我是从背景知识、要解决的问题以及Flink中的实现方案这3个角度解释Flink的技术特性,而这一点恰好是很多想要深入学习Flink但是找不到好的学习资料的读者急需的。很多读者的反馈给了我持续写文章的动力,也让我产生了写一本书来帮助更多读者的想法。
第二,我算得上是Flink SQL API的早期用户,Flink SQL API由于具有易用的特性,用户越来越多,发展势头越来越猛、而市面上关于Flink SQL API的中文资料比较少,因此我想将自己对于Flink SQL API的理解梳理出来,在推广Flink SQL API的同时也能够帮助读者学习Flink SQL API。

【读者对象】
本书适合以下读者阅读。
开设Flink相关课程的院校师生。
实时计算开发工程师。
大数据开发工程师。

【如何阅读本书】
本书详细剖析了Flink中的时间、窗口、有状态计算和检查点这4项核心难点,尽可能降低读者的学习成本,并且相对全面地介绍了Flink SQL API的内容。本书分为11章,各章内容层层递进。
第1~3章是Flink初学者必读内容,主要介绍Flink的由来、特性、API的使用方法和运行时的架构。
如果读者想使用Java开发一个Flink流处理作业,推荐仔细阅读第4~7章。第4章介绍Flink DataStream API中的基础接口。第5章和第6章介绍Flink中的时间、窗口、有状态计算和检查点的相关知识。第7章介绍Flink有状态流处理API。
如果读者想使用SQL开发一个Flink流处理作业,推荐仔细阅读第8~11章。第8章介绍Flink Table API和SQL API中的基础概念,第9章介绍Flink SQL API中的语法及其执行过程,第10章介绍Flink SQL API中的函数,第11章介绍Flink SQL API中的参数及SQL优化方法。

目录

产品特色