商品详情
书名: | Flink编程基础(Scala版) |
出版社: | 清华大学出版社 |
出版日期 | 2021 |
ISBN号: | 9787302583677 |
本书以Scala作为开发Flink应用程序的编程语言,系统地介绍了Flink编程的基础知识。全书共8章,内容包括大数据技术概述、Scala语言基础、Flink的设计与运行原理、Flink环境搭建和使用方法、DataStream API、DataSet API、Table API&SQL、FlinkCEP。本书主要章节都安排了入门级的编程实践操作,以便读者更好地学习和掌握Flink编程方法。本书官网免费提供了全套的在线教学资源,包括讲义PPT、习题、源代码、软件、数据集、授课视频、上机实验指南等。 本书可作为高等院校大数据、计算机、软件工程等专业的进阶级“大数据”课程教材,用于指导Flink编程实践,也可供相关技术人员参考。 |
林子雨(1978-),男,博士,国内高校知名大数据教师,厦门大学计算机科学系副教授,中国计算机学会数据库专委会委员,中国计算机学会信息系统专委会委员,中国高校首个“数字教师”提出者和建设者。2013年开始在厦门大学开设大数据课程,建设了国内高校首个大数据课程公共服务平台,平台累计网络访问量超过1000万次,成为全国高校大数据教学知名品牌,并荣获“2018年福建省教学成果二等奖”,主持的课程《大数据技术原理与应用》获评“2018年国家精品在线开放课程”。 |
市场需要一款能够实现毫秒级别响应并且支持“精确一次”一致性的、高吞吐、高性能的流计算框架,而Flink是当前唯一能够满足上述要求的产品,它正在成为大数据领域流处理的标配组件。本书是一本优秀的Flink教材,详细介绍了Flink的环境搭建和基础编程方法。结构清晰,语言流畅,并配有丰富的配套资源,供读者学习和参考。 |
第1章大数据技术概述1 1.1大数据概念与关键技术1 1.1.1大数据概念1 1.1.2大数据关键技术2 1.2代表性大数据技术3 1.2.1Hadoop4 1.2.2Spark8 1.2.3Flink10 1.2.4Beam13 1.3编程语言的选择14 1.4在线资源15 1.5本章小结16 1.6习题16 实验1Linux系统的安装和常用命令17 第2章Scala语言基础19 2.1Scala语言概述19 2.1.1计算机的缘起19 2.1.2编程范式20 2.1.3Scala简介22 2.1.4Scala的安装22 2.1.5HelloWorld23 2.2Scala的基础编程知识25 2.2.1基本数据类型和变量25 2.2.2输入输出28 2.2.3控制结构31 2.2.4数据结构35 2.3面向对象编程基础42 2.3.1类42 2.3.2对象48 2.3.3继承53 2.3.4参数化类型57 2.3.5特质59 2.3.6模式匹配64 2.3.7包67 2.4函数式编程基础68 2.4.1函数的定义与使用69 2.4.2高阶函数71 2.4.3闭包72 2.4.4偏应用函数和Curry化72 2.4.5针对容器的操作74 2.4.6函数式编程实例80 2.5本章小结81 2.6习题82 实验2Scala编程初级实践83 第3章Flink的设计与运行原理88 3.1Flink简介88 3.2选择Flink的原因89 3.2.1传统数据处理架构89 3.2.2大数据Lambda架构90 3.2.3流处理架构90 3.2.4Flink是理想的流计算框架91 3.2.5Flink的优势92 3.3Flink典型应用场景94 3.3.1事件驱动型应用94 3.3.2数据分析应用95 3.3.3数据流水线应用97 3.4Flink的统一数据处理97 3.5Flink技术栈99 3.6Flink工作原理100 3.7Flink编程模型101 3.8Flink的应用程序结构102 3.9Flink的数据一致性103 3.9.1有状态计算103 3.9.2数据一致性103 3.9.3异步屏障快照机制104 3.10本章小结105 3.11习题106 第4章Flink环境搭建和使用方法107 4.1安装Flink107 4.1.1基础环境107 4.1.2下载安装文件108 4.1.3配置相关文件108 4.1.4运行测试样例109 4.1.5Flink和Hadoop的交互110 4.2在Scala Shell中运行代码110 4.3开发Flink独立应用程序111 4.3.1安装编译打包工具Maven111 4.3.2开发批处理程序113 4.3.3开发流处理程序117 4.3.4使用IntelliJ IDEA开发Flink应用程序119 4.4设置程序运行并行度126 4.5Flink集群环境搭建127 4.5.1集群基础配置127 4.5.2在集群中安装Java129 4.5.3设置SSH无密码登录130 4.5.4安装和配置Flink131 4.5.5启动和关闭Flink集群133 4.6本章小结133 4.7习题134 实验3Flink和Hadoop的安装134 第5章DataStream API136 5.1DataStream编程模型136 5.1.1数据源137 5.1.2数据转换149 5.1.3数据输出160 5.2窗口的划分163 5.3时间概念163 5.4窗口计算165 5.4.1窗口计算程序的结构165 5.4.2窗口分配器166 5.4.3窗口计算函数170 5.4.4触发器177 5.4.5驱逐器180 5.5水位线183 5.5.1水位线原理183 5.5.2水位线的设置方法186 5.5.3水位线应用实例188 5.6延迟数据处理197 5.7状态编程201 5.8本章小结203 5.9习题203 实验4DataStream API编程实践204 第6章DataSet API207 6.1DataSet编程模型207 6.2数据源208 6.2.1文件类数据源208 6.2.2集合类数据源209 6.2.3通用类数据源209 6.2.4第三方文件系统213 6.3数据转换215 6.3.1数据处理类算子216 6.3.2聚合操作类算子217 6.3.3多表关联类算子220 6.3.4集合操作类算子223 6.3.5分区操作类算子223 6.4数据输出224 6.5迭代计算226 6.5.1全量迭代226 6.5.2增量迭代229 6.6广播变量230 6.7本章小结232 6.8习题232 实验5DataSet API编程实践233 第7章Table API&SQL236 7.1编程模型236 7.1.1程序执行原理236 7.1.2程序结构237 7.1.3TableEnvironment238 7.1.4注册表239 7.1.5查询表245 7.1.6输出表248 7.1.7DataStream/DataSet与Table的相互转换251 7.1.8时间概念258 7.2Flink Table API260 7.2.1Table API应用实例260 7.2.2扫描、投影和过滤261 7.2.3列操作263 7.2.4聚合操作263 7.2.5连接操作267 7.2.6集合操作268 7.2.7排序操作270 7.2.8插入操作270 7.2.9基于行的操作270 7.3Flink SQL280 7.3.1应用实例280 7.3.2数据查询与过滤操作282 7.3.3聚合操作282 7.3.4连接操作283 7.3.5集合操作283 7.4自定义函数285 7.4.1标量函数285 7.4.2表值函数287 7.4.3聚合函数289 7.5本章小结291 7.6习题292 实验6Table API& SQL编程实践292 第8章FlinkCEP296 8.1概述296 8.2Pattern API297 8.2.1个体模式297 8.2.2复合模式299 8.2.3模式组301 8.2.4匹配后跳过策略302 8.3模式的检测302 8.3.1匹配事件提取303 8.3.2超时事件提取303 8.4应用实例304 8.5本章小结308 8.6习题308 实验7FlinkCEP编程实践308 参考文献311 |
- 清华大学出版社旗舰店 (微信公众号认证)
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...