





定价:159元
印次:1-1
ISBN:9787302626947
出版日期:2023.02.01
印刷日期:2023.02.15
图书责编:赵佳霓
图书分类:零售
本书讲述Apache Flink大数据框架的原理,以及如果将Apache Flink应用于大数据的实时流处理、批处理、批流一体分析等各个场景。通过原理深入学习和实践示例、案例的学习应用,使读者了解并掌握Apache Flink流处理的框架的基本原理和技能,接近理论与实践的距离。 全书共分为8章,主要内容包括Flink架构与集群安装、Flink开发环境准备(基于IntelliJ IDEA和Maven)、开发Flink实时数据处理程序、Flink流数据分析、时间和水印概念、窗口操作、状态和容错、侧输出流、Flink流连接器、Flink流处理案例、开发Flink批数据处理程序、使用Table API进行数据处理、Flink on YARN、基于Flink构建批流一体数仓、基于Flink和Iceberg数据湖构建实时数仓。本书源码全部在Apache Flink 1.13.2上调试成功,所有示例和案例均提供Scala语言和Java语言两套API的实现(第8章除外),供读者参考。 本书系统讲解了Apache Flink大数据框架的原理和流、批处理的开发实践,内容全面、实例丰富、可操作性强,做到了理论与实践相结合。本书适合大数据学习爱好者、想要入门Apache Flink的读者作为入门和提高的技术参考书,也适合用作大中专院校大数据专业相关的学生和老师的教材或教学参考书。
辛立伟,一个在IT领域摸爬滚打20多年的老程序员、技术培训师、技术作者。横跨Java、数据库、大数据开发与分析、人工智能等多个领域,参与多个IT项目的架构设计与开发。长期坚持撰写技术博客,曾在多个大学讲授Java开发、数据库和大数据技术课程,曾担任中国石油大学(青岛校区)等多所院校的外聘讲师。
前言 实时数据分析一直是一个热门话题,需要实时数据分析的场景也越来越多,如金融支付中的风控、基础运维中的监控告警、实时大盘等,此外,AI模型也需要依据更为实时的聚合结果来达到很好的预测效果。 Apache Flink是下一代开源大数据处理引擎。它是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态计算; 可部署在各种集群环境中,对各种大小规模的数据进行快速计算。 Apache Flink已经被证明可以扩展到数千个内核和TB级的应用程序状态,提供高吞吐量和低时延,并支持世界上一些要求很高的流处理应用程序。例如,Apache Flink在2019年阿里巴巴“双11”场景中突破实时计算消息处理峰值,达到25亿条/秒; 2020年“双11”当时的实时计算峰值达到了破纪录的40亿条/秒,数据量也达到了惊人的7TB/s,相当于一秒读完500万本《新华字典》!随着2020年“双11”阿里巴巴基于Flink实时计算场景的成功,毋庸置疑,Flink将会加速成为大厂主流的数据处理框架,最终化身为下一代大数据处理标准。 Apache Flink作为当前热门的实时计算框架之一,是从业人员及希望进入大数据行业的人员必须学习和掌握的大数据技术之一,但是作为大数据的初学者,在学习Flink时通常会遇到以下几个难题: (1) 缺少面向零基础读者的Flink入门教程。 (2) 缺少系统化的Flink大数据教程。 (3) 现有的Flink资料、教程或图书较陈旧。 (4) 官方全英文文档难以阅读和理解。 (5) 缺少必要的数据集、可运行...
目录
第1章Flink架构与集群安装(81min)
1.1Flink简介
1.1.1Flink发展历程
1.1.2Flink特性
1.2Flink应用场景
1.2.1事件驱动应用程序
1.2.2数据分析应用程序
1.2.3数据管道应用程序
1.3Flink体系架构
1.3.1Flink系统架构
1.3.2Flink运行时架构
1.3.3Flink资源管理
1.3.4Flink作业调度
1.3.5Flink故障恢复
1.3.6Flink程序执行模式
1.4Flink集群安装
1.4.1Flink独立集群安装和测试
1.4.2Flink完全分布式集群安装
1.4.3Flink常用命令
第2章Flink开发环境准备(37min)
2.1安装和配置
2.1.1安装和配置Maven
2.1.2修改Maven本地仓库默认位置
2.1.3创建初始模板项目
2.1.4构建打包项目
2.2使用IntelliJ IDEA+Maven开发Flink项目
2.2.1在IntelliJ IDEA中创建Flink项目
2.2.2设置项目基本依赖
2.2.3用于构建具有依赖项的JAR的模板
2.2.4编写批处理代码并测试执行
2.2.5项目打包并提交Flink集群执行
2.3Flink相关概念
2.3.1Flink数据流
2.3.2Flink分层API
第3章开发Flink实时数据处理... 查看详情
本书除了提供了丰富的上机实践操作和范例程序详细讲解之外,本书作者还为购买和使用本书的读者提供了搭建好的Hadoop和Flink大数据开发和学习环境。读者既可以参照本书的讲解自行搭建Hadoop和Flink环境,也可直接使用作者提供的开始和学习环境,快速开始大数据和Flink的学习。
本书具有以下几个特点:
(1) 面向零基础读者,知识点深浅适当,代码完整易懂。
(2) 内容全面系统,包括架构原理、开发环境及程序部署、流和批计算等,并特别包含了第7章“基于Flink构建批流一体数仓”和第8章“基于Flink和数据湖构建实时数仓”内容。
(3) 所有代码均基于Flink 1.13.2。
(4) 双语实现,大部分示例、案例,均包含Scala和Java两种语言版本的实现。
"