- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程编号
编制人
制定日期
修订日期
审定组(人)
审定日期
202x.1
《Flink原理与实践》课程教学大纲
一、课程基本信息
开课单位:
课程名称:《Flink原理与实践》
课程编号:
课程类型:专业课
学 分: 4
学 时: 48
开设专业: 专业
前导课程:
二、课程任务和目标
(一)课程任务
Flink是一种针对数据流的大数据计算引擎。比起已有的大数据计算引擎Hadoop和Spark,Flink集流处理和批量处理于一体,具有高吞吐,低延迟,支持状态和故障恢复等优势,尤其是其流处理技术为业界领先水平,目前被广泛应用在阿里巴巴、腾讯等大公司的生产环境上。
本课程是计算机软件专业的专业拓展课程。通过本课程的学习,学生掌握Flink流数据处理相关技术,具体包括:流处理的基本概念、Flink分布式架构、使用DataStream API进行数据流的转换操作、在时间窗口上处理数据流、使用状态并进行备份以便用于故障恢复、Flink与外部系统进行连接以及Flink部署和配置等问题。
课程按照从基础到应用,从基本功能到高级功能的逻辑循序渐进进行讲授,要求学生通过动手实践来掌握Flink数据流开发技能。
(二)课程目标
理论上,要求学生掌握Flink数据流开发的基础知识,理解数据流、数据流图、算子、时间、窗口、检查点和数据一致性等概念。技能上,能够使用常见的Flink Java/Scala API进行编程开发,尤其是分组和窗口等相关API;能够使用连接器读取和写入外部系统;能够进行必要的配置并将一个Flink应用部署到集群上。
1、能力目标
(1)培养学生掌握大数据开发工作流程
(2)培养学生基于Flink进行流数据处理的能力
(3)培养学生发现问题、分析问题和解决问题的能力
(4)培养良好的文化修养、职业道德、服务意识和敬业精神
(5)培养团队合作和协调沟通能力
2、知识目标
(1)了解大数据开发相关生态和工作流程
(2)掌握流处理的基础概念
(3)掌握编程所必备的继承、多态、泛型和函数式编程等基础知识
(4)掌握Flink数据流图和分布式架构等核心概念
(5)掌握使用不同的方式完成用户自定义函数
(6)掌握Flink的序列化和反序列化机制
(7)掌握DataStream上常用的转换操作
(8)掌握时间以及时间语义
(9)掌握窗口算子的使用方法
(10)掌握状态的使用方法
(11)掌握检查点的原理和常用设置
(12)掌握Flink应用的部署和简单配置
三、教学条件
技术网络机房,在较高配置的类Unix操作系统上组建实验环境,确保系统能够访问互联网。最后一个单元本课程对实验环境要求更高,需要搭建3个主机节点的集群。
建议在虚拟机上进行实验操作,可以充分利用虚拟机的快照功能来备份和恢复实验环境,利用其克隆功能来快速安装系统。
四、教学内容及学时安排
序号
单元
教学内容
教学目标
学时
训练项目
必备知识
1
大数据技术概述
1.了解大数据生态圈常见组件和相应功能
2.分析哪些应用适合使用流处理的模式
3.构建一个基于Kafka的实时数据流
1.大数据分而治之的编程思想
2.批处理和流处理的区别
3.代表性大数据技术
4.流处理基础概念
5.Flink所支持的编程语言
了解大数据分而治之的编程思想,弄清批处理与流处理的区别,了解流处理面临的挑战,了解代表性大数据技术,了解Lambda和Kappa大数据处理架构,理解延迟和吞吐、窗口和时间、状态与检查点等流处理基础概念,能够使用Kafka构建数据流
4
2
大数据必备编程知识
1.掌握继承和多态的区别
2.掌握泛型的应用场景
3.掌握Lambda表达式的使用方法
4.搭建Flink开发环境,能够运行Flink样例程序
1.继承和多态
2.泛型
3.函数式编程思想
掌握大数据开发所必须的继承、多态、泛型和函数式编程知识,搭建Flink开发环境
4
3
Flink的设计与运行原理
1.掌握Flink的数据流图概念
2.通过Flink作业提交的过程掌握Flink的核心组件
3.熟悉算子子任务的划分、Slot计算资源的划分
4.能够使用Web UI查看并行的算子子任务和Slot信息
1.数据流图的逻辑视图和物理执行图
2.Flink分布式架构与核心组件
3.资源划分机制、算子子任务与算子链
4.计算资源中Slot的划分机制
通过WordCount样例程序,掌握Flink的数据流图,了解Flink分布式架构与核心组件,了解Flink任务执行与资源划分机制
4
4
DataStream API的使用
1.一个Flink程序包含哪几大部分
2.使用map()、flatMap()或filter()对数据流进行转换处理
3.对数据流使用keyBy()进行分组
4.掌握Flink算子在并行
文档评论(0)