新書推薦:
《
高敏感女性的力量(意大利心理学家FSP博士重磅力作。高敏感是优势,更是力量)
》
售價:NT$
286.0
《
元好问与他的时代(中华学术译丛)
》
售價:NT$
398.0
《
汽车传感器结构·原理·检测·维修
》
售價:NT$
500.0
《
怪谈百物语:不能开的门(“日本文学史上的奇迹”宫部美雪重要代表作!日本妖怪物语集大成之作,系列累销突破200万册!)
》
售價:NT$
296.0
《
罗马政治观念中的自由
》
售價:NT$
230.0
《
中国王朝内争实录:宠位厮杀
》
售價:NT$
281.0
《
凡事发生皆有利于我(这是一本读了之后会让人运气变好的书”治愈无数读者的心理自助经典)
》
售價:NT$
203.0
《
未来特工局
》
售價:NT$
254.0
|
編輯推薦: |
(1)内容全面,结构合理:每章配有本章小结、习题。
(2)强化训练,注重提升学生实操能力,重点章节配置大量实验。
(2)案例丰富,通过分解案例详细讲解各模块功能和使用情况。
【资源特点】重点难点知识微课,PPT课件、习题、源代码、软件、数据集、授课视频、上机实验指南等。
【服务特点】作者提供QQ服务群等支持,定期举办直播进行教学培训。
|
內容簡介: |
本书以Java作为开发Flink应用程序的编程语言,系统介绍了Flink编程的基础知识。全书共6章,内容包括大数据技术概述、Flink的设计与运行原理、 大数据实验环境搭建、Flink环境搭建和使用方法、DataStream API、Table API&SQL等。本书每个章节都安排了入门级的编程实践操作,以便读者更好地学习和掌握Flink编程方法。本书官网免费提供了全套的在线教学资源,包括讲义PPT、习题、源代码、软件、数据集、授课视频、上机实验指南等。 本书可以作为高等院校大数据、计算机、软件工程等专业的进阶级大数据课程教材,用于指导Flink编程实践,也可供相关技术人员参考。
|
關於作者: |
林子雨 林子雨(1978-),男,博士(毕业于北京大学),国内高校知名大数据教师,厦门大学计算机科学系副教授,厦门大学信息学院实验教学中心主任,厦门大学数据库实验室负责人,中国计算机学会数据库专委会委员,中国计算机学会信息系统专委会委员,中国高校首个“数字教师”提出者和建设者。厦门大学2013年度、2017年度和2020年度奖教金获得者,获评“厦门大学2019年度本科教学示范岗”,入选“2021年高校计算机专业优秀教师奖励计划”。2013年开始在厦门大学开设大数据课程,建设了国内高校首个大数据课程公共服务平台,平台累计网络访问量超过1500万次,成为全国高校大数据教学知名品牌,并荣获“2018年福建省教学成果二等奖”和“2018年厦门大学教学成果特等奖”,主持的课程《大数据技术原理与应用》获评“2018年国家精品在线开放课程”、“2020年国家级线上一流本科课程”和“2021年福建省线上线下混合一流本科课程”,主持的课程《Spark编程基础》获评“2020年福建省线上一流本科课程”。
|
目錄:
|
第1章 大数据技术概述 1
1.1 大数据概念与关键技术 1
1.1.1 大数据概念 1
1.1.2 大数据关键技术 2
1.2 代表性大数据技术 3
1.2.1 Hadoop 3
1.2.2 Spark 7
1.2.3 Flink 10
1.2.4 Beam 11
1.3 在线资源 12
1.4 本章小结 13
1.5 习题 13
第2章 Flink的设计与运行原理 14
2.1 Flink简介 14
2.2 为什么选择Flink 15
2.2.1 传统数据处理架构 15
2.2.2 大数据Lambda架构 16
2.2.3 流处理架构 16
2.2.4 Flink是理想的流计算框架 17
2.2.5 Flink的优势 18
2.3 Flink应用场景 19
2.3.1 事件驱动型应用 19
2.3.2 数据分析应用 20
2.3.3 数据流水线应用 21
2.4 Flink中的统一数据处理方式 22
2.5 Flink核心组件栈 23
2.6 Flink工作原理 23
2.7 Flink编程模型 25
2.8 Flink的应用程序结构 25
2.9 Flink程序的并行度 26
2.10 Flink中的数据一致性 27
2.10.1 有状态计算 27
2.10.2 数据一致性 28
2.10.3 异步屏障快照机制 28
2.11 本章小结 29
2.12 习题 29
第3章 大数据实验环境搭建 30
3.1 Linux系统的安装 30
3.1.1 下载安装文件 30
3.1.2 Linux系统的安装方式 31
3.1.3 安装Linux系统 32
3.2 Hadoop的安装 38
3.2.1 Hadoop版本简介 38
3.2.2 安装Hadoop前的准备工作 38
3.2.3 Hadoop的3种安装模式 41
3.2.4 下载Hadoop安装文件 41
3.2.5 单机模式配置 41
3.2.6 伪分布式模式配置 42
3.2.7 分布式模式配置 45
3.3 MySQL的安装 56
3.3.1 执行安装命令 56
3.3.2 启动MySQL服务 56
3.3.3 进入MySQL Shell界面 56
3.3.4 解决MySQL出现的中文乱码问题 57
3.4 Kafka的安装 58
3.4.1 Kafka简介 58
3.4.2 Kafka的安装和使用 59
3.5 本章小结 60
3.6 习题 60
实验1 Linux、Hadoop和MySQL的安装和使用 60
第4章 Flink环境搭建和使用方法 63
4.1 安装单机模式Flink 63
4.1.1 基础环境 63
4.1.2 安装Java环境 63
4.1.3 下载安装文件 64
4.1.4 修改配置文件 64
4.1.5 启动Flink 64
4.1.6 查看Web管理页面 65
4.1.7 运行样例程序 65
4.1.8 停止Flink 65
4.2 使用IntelliJ IDEA开发Flink应用程序 65
4.2.1 下载和安装IDEA 66
4.2.2 启动IDEA 66
4.2.3 使用IDEA开发WordCount程序 66
4.3 向Flink提交运行程序 70
4.3.1 使用命令提交运行程序 70
4.3.2 在Web管理页面中提交运行程序 71
4.4 设置任务并行度 73
4.5 Flink集群(Standalone模式)搭建 74
4.5.1 配置集群基础 74
4.5.2 在集群中安装Java环境 75
4.5.3 设置SSH无密码登录 75
4.5.4 安装和配置Flink 75
4.5.5 启动Flink集群 77
4.5.6 查看Flink集群信息 77
4.5.7 运行WordCount样例程序 78
4.5.8 关闭Flink集群 79
4.6 运行模式 79
4.6.1 会话模式 79
4.6.2 单作业模式 80
4.6.3 应用模式 80
4.7 Standalone部署模式下的不同运行模式 81
4.8 YARN部署模式下的不同运行模式 81
4.8.1 YARN模式集群配置 82
4.8.2 配置会话模式 83
4.8.3 配置单作业模式 85
4.8.4 配置应用模式 86
4.9 历史服务器 87
4.10 本章小结 88
4.11 习题 88
实验2 Flink的安装和使用 89
第5章 DataStream API 90
5.1 DataStream编程模型 90
5.1.1 数据源 91
5.1.2 数据转换 100
5.1.3 数据输出 123
5.2 窗口的划分 126
5.3 时间概念 127
5.4 窗口计算 128
5.4.1 窗口计算程序的结构 128
5.4.2 窗口分配器 129
5.4.3 窗口计算函数 132
5.4.4 触发器 140
5.4.5 驱逐器 143
5.5 水位线 146
5.5.1 水位线原理 146
5.5.2 水位线的设置方法 149
5.5.3 内置水位线生成策略 149
5.6 延迟到达数据处理 162
5.7 基于双流的合并 165
5.7.1 窗口连接 165
5.7.2 间隔连接 167
5.8 状态编程 171
5.8.1 状态的定义 172
5.8.2 状态的类型 172
5.8.3 键控状态 174
5.9 处理函数 183
5.9.1 处理函数的功能和作用 183
5.9.2 处理函数的分类 184
5.9.3 KeyedProcessFunction 184
5.9.4 ProcessAllWindowFunction 189
5.9.5 KeyedProcessFunction 192
5.10 本章小结 198
5.11 习题 198
实验3 Flink DataStream API编程实践 198
第6章 Table API&SQL 203
6.1 流处理中的表 203
6.1.1 传统关系数据库的SQL处理与流处理的区别 203
6.1.2 动态表和持续查询 204
6.1.3 将流转换为动态表 204
6.1.4 用SQL持续查询 205
6.1.5 将动态表转换为流 206
6.2 编程模型 207
6.2.1 程序执行原理 207
6.2.2 程序结构 208
6.2.3 TableEnvironment 210
6.2.4 输入数据 210
6.2.5 查询表 215
6.2.6 输出数据 218
6.2.7 表和DataStream的相互转换 221
6.2.8 时间属性 223
6.3 Table API 224
6.3.1 Table API应用实例 224
6.3.2 扫描、投影和过滤 225
6.3.3 列操作 226
6.3.4 聚合操作 227
6.3.5 连接操作 229
6.3.6 集合操作 230
6.3.7 排序操作 231
6.3.8 插入操作 231
6.3.9 滚动窗口 231
6.3.10 滑动窗口 231
6.3.11 会话窗口 232
6.3.12 基于行的操作 232
6.4 SQL 239
6.4.1 Flink SQL Client 239
6.4.2 数据定义 241
6.4.3 数据查询与过滤操作 245
6.4.4 聚合操作 245
6.4.5 连接操作 249
6.4.6 集合操作 250
6.5 Catalog 251
6.5.1 Catalog的分类 251
6.5.2 JdbcCatalog 252
6.6 自定义函数 253
6.6.1 标量函数 253
6.6.2 表值函数 255
6.6.3 聚合函数 256
6.6.4 表聚合函数 257
6.7 本章小结 259
6.8 习题 259
实验4 Table API&SQL编程实践 259
参考文献 264
|
|