林子雨主讲《大数据处理技术》2021班级主页

本班级是“高校大数据课程公共服务平台”的九大工程中的“6号子工程”

全力打造全国高校大数据教学示范班级

厦门大学研究生课程

《大数据处理技术》2021班级主页

全面系统讲解Flink技术及其编程方法

时间地点:每周四晚上7点10分  两节课  海韵教学楼202教室

主讲人:厦门大学计算机科学系  林子雨  博士/副教授

E-mail: ziyulin@xmu.edu.cn

个人主页:https://dblab.xmu.edu.cn/post/linziyu


课程简介|教师简介|示范班级|公告板|课程教材|教学大纲| 教学进度表 |讲义PPT下载| 授课视频课后作业|拓展学习|班级相册


(扫一扫手机访问本主页)

课程简介

课程名称:《大数据处理技术》

课程性质:校级研究生选修课

面向对象:校级选修课,面向全校各院系研究生同学开放,欢迎并建议计算机相关专业研究生同学选修

课程难度:入门级,零基础(课程采用林子雨编著的入门级精品教材,丰富的教材配套资源帮助学生实现“零基础”学习大数据)

授课教师:林子雨

开课学期:2021年春季学期(2月到6月)

课程学时:每周2节,共16周,32学时,2学分

上课时间:每周四晚上7点10分 两节课

上课教室:海韵教学楼

课程助教:无

学生名单(68人):

陈思耀 陈姚伶 陈源 范帅 方韩 龚国文 龚红彬 胡鹏 胡润霞 黄和龙 黄连福 金佳宝 孔霞 蓝宇翔 梁秋源 林海 林锦 刘官山 刘洪金 刘韫祺 罗瑞祥 马晓妍 马跃萧 毛胜余 邱日煌 阮敏朝 苏小娜 王昊杰 吴楷生 吴连伟 许泽铨 颜彬彬 杨琪 张凯芸 张亦希 赵涛 郑珊珊 仲仁豪 朱航 陈飞 冯嘉东 李季 李晓凡 寿铁祺 徐心怡 朱旭 杨佩蓁 李炯承 刘恒宇 谢浩宇 周观星 陈倩 李杰峰 林佳煜 徐璐 李彤 李晓希 李子越 刘姝嫔 卢宇航 宋佳欣 吴科春 杨志鹏 叶晗 朱源 周巡 李毅男 张国栋

教师简介

林子雨,男,1978年出生,博士(毕业于北京大学),现为厦门大学计算机科学系副教授,厦门大学信息学院实验教学中心主任,曾任厦门大学信息科学与技术学院院长助理、晋江市发展和改革局副局长。中国计算机学会数据库专业委员会委员,中国计算机学会信息系统专业委员会委员。国内高校首个“数字教师”提出者和建设者,厦门大学数据库实验室负责人,厦门大学云计算与大数据研究中心主要建设者和骨干成员,2013年度和2017年度厦门大学教学类奖教金获得者,荣获2017年福建省精品在线开放课程、2018年厦门大学高等教育成果特等奖、2018年福建省高等教育教学成果二等奖、2018年国家精品在线开放课程和2020年国家级线上一流本科课程。主要研究方向为数据库、数据仓库、数据挖掘、大数据、云计算和物联网,并以第一作者身份在《软件学报》《计算机学报》和《计算机研究与发展》等国家重点期刊以及国际学术会议上发表多篇学术论文。作为项目负责人主持的科研项目包括1项国家自然科学青年基金项目(No.61303004)、1项福建省自然科学青年基金项目(No.2013J05099)和1项中央高校基本科研业务费项目(No.2011121049),主持的教改课题包括1项2016年福建省教改课题和1项2016年教育部产学协作育人项目,同时,作为课题负责人完成了国家发改委城市信息化重大课题、国家物联网重大应用示范工程区域试点泉州市工作方案、2015泉州市互联网经济调研等课题。中国高校首个“数字教师”提出者和建设者,2009年至今,“数字教师”大平台累计向网络免费发布超过500万字高价值的研究和教学资料,累计网络访问量超过500万次。打造了中国高校大数据教学知名品牌,编著出版了中国高校第一本系统介绍大数据知识的专业教材《大数据技术原理与应用》,并成为京东、当当网等网店畅销书籍;建设了国内高校首个大数据课程公共服务平台,为教师教学和学生学习大数据课程提供全方位、一站式服务,累计访问量超过1000万次。

示范班级

林子雨主讲厦门大学研究生课程《大数据处理技术》是“高校大数据课程公共服务平台”重点打造的示范班级,全程严格执行“林子雨精品大数据公开课六大质量标准”,旨在努力打造高校大数据教学实践标杆。

示范班级全程践行O2O教学理念,提供线上线下完整教学服务,学生在获得良好现场教学体验的同时,可以通过班级网站获得全方位课程指导和服务。示范班级标准元素包括:班级主页、标准教室、精心备课、精彩讲解、优雅形象、标准音质、完整服务等。

林子雨精品大数据公开课六大质量标准

公告板

发布时间 内容
2021年1月30日 发布班级主页

教学大纲

厦门大学研究生课程教学大纲

课程名称 大数据处理技术
课程英文名称 Bigdata Processing Technology
*课程编码   面向对象 研究生一年级
先修课程或

预备知识要求

操作系统、编程语言、数据库
课程学科分类 □一级学科课程

□二级学科课程

■研究方向课程

课程内容分类

(可多选)

■理论讲授  □实验  □实务

□方法论    □文献  □案例

□其他            (请注明)

总学分/总学时 2/32 实践(含实验)学时 0
教学目的

与要求

Flink是当前热门的大数据处理技术。通过本课程的学习,将帮助学生形成基础的Flink应用程序编程能力,为学生使用Flink技术解决实际科研问题和未来从事大数据相关工作奠定基础。具体包括:

(1)   掌握Scala语言编程能力;

(2)   掌握使用Scala语言开发Flink应用程序的能力;

(3)   掌握使用Flink进行数据处理和分析的能力。

教学主要内容

(中英文)

本课程重点介绍Flink的技术原理与编程方法。Flink支持采用Scala、Java、Python语言进行编程,本课程采用Scala语言编写Flink应用程序。课程内容包括大数据技术概述、Scala语言基础、Flink的设计与运行原理、Flink环境搭建和使用方法、DataStream API、DataSet API、Table API&SQL、FlinkCEP等。

This course focuses on Flink’s technical principles and programming methods. Flink supports programming in Scala, Java and Python. This course uses Scala language to write Flink application program. Course contents include big data technology overview, Scala language foundation, Flink design and operation principle, Flink environment construction and use method, DataStream API, DataSet API,Table API&SQL,FlinkCEP, etc.

教学进度

(中英文,包括章节内容及提要)

 

章(或节) 主要内容 学时安排
第1章 大数据技术概述 大数据的基本概念、关键技术和代表性软件 2
第2章 Scala语言基础 Scala语言概述、Scala基础、面向对象编程基础、函数式编程基础 6
第3章 Flink的设计与运行原理 Flink简介、Flink应用场景、Flink中的统一数据处理、Flink技术栈、Flink工作原理、Flink编程模型、Flink的应用程序结构、Flink中的数据一致性 2
第4章 Flink环境搭建和使用方法 安装Flink、在Scala Shell中运行代码、开发Flink独立应用程序、设置程序运行并行度、Flink集群环境搭建 2
第5章 DataStream API DataStream编程模型、窗口的划分、时间概念、窗口计算、水位线、延迟数据处理、状态编程 8
第6章 DataSet API DataSet编程模型、数据源、数据转换、数据输出、迭代计算和广播变量 4
第7章 Table API&SQL 编程模型、Flink Table API、Flink SQL、自定义函数 6
第8章 FlinkCEP 概述、Pattern API、模式的检测、应用实例 2
合计 32

 

 

 

Chapter Contents Hours arrangement
Chapter 1 Overview of Big Data Technology Basic concepts, key technologies and representative software of large data 2
Chapter 2 Basic language of Scala Scala language overview, Scala foundation, object-oriented programming foundation, functional programming foundation 6
Chapter 3 Design and operation principle of Flink Flink introduction, Flink application scenarios, unified data processing in Flink, Flink technology stack, Flink working principle, Flink programming model, Flink application structure, data consistency in Flink 2
Chapter 4 How to build and use Flink environment Install Flink, run code in scala shell, develop Flink independent application, set program running parallelism, build Flink cluster environment 2
Chapter 5 Datastream API Datastream programming model, window partition, time concept, window calculation, water level, delay data processing, state programming 8
Chapter 6 Dataset API Dataset programming model, data source, data transformation, data output, iterative calculation and broadcast variables 4
Chapter 7 Table API & SQL Programming model, Flink table API, Flink SQL, custom function 6
Chapter 8 FlinkCEP Overview, pattern API, pattern detection, application examples 2
Total 32

 

 

理论与实践(含实验)教学安排 (1)通过课堂理论授课和上机实验相互结合,让学生在学习理论知识的同时,能够掌握基础的Flink编程实践能力;

(2)提供丰富的配套在线教学资源,学生在学习过程中,可以通过放在网站资源,完成大数据实验平台和环境的安装,以及基础的编程实践。

教材或参考书

主要文献资料

或相关数据库

林子雨,陶继平.《Flink编程基础(Scala版)》.清华大学出版社,2021年2月。

林子雨.《大数据技术原理与应用(第3版)》.人民邮电出版社,2021年1月.

林子雨.《大数据基础编程、实验和案例教程(第2版)》.清华大学出版社,2020年10月.

高校大数据课程公共服务平台:https://dblab.xmu.edu.cn/post/bigdata-teaching-platform/

作业要求 (1)   完成课堂布置的章节练习。

(2)   完成综合性大数据实验案例。

考核方式 □笔试  □口试  ■考察  □论文  □其他            (请注明)
成绩构成 期末考察
备注  

教学进度表

次数 日期 内容
1 2021年3月4日周四晚上9、10节 第2章 Scala编程语言(疫情影响,线上课程)
2 2021年3月11日周四晚上9、10节 第2章 Scala编程语言(疫情影响,线上课程)
3 2021年3月18日周四晚上9、10节 第1章 大数据技术概述(教室上课)
4 2021年3月25日周四晚上9、10节 第3章 Flink的设计与运行原理(教室上课)
5 2021年4月1日周四晚上9、10节 第4章 Flink环境搭建和使用方法(教室上课)
6 2021年4月8日周四晚上9、10节 第5章-DataStream API(教室上课)
7 2021年4月15日周四晚上9、10节 第5章-DataStream API(教室上课)
8 2021年4月22日周四晚上9、10节 第5章-DataStream API(教室上课)
9 2021年4月29日周四晚上9、10节 第6章-DataSet API(教室上课)

讲义PPT下载

章节 内容 下载PPT 下载PDF
第1章 大数据技术概述 大数据的基本概念、关键技术和代表性软件 暂无 下载
第2章 Scala语言基础 Scala语言概述、Scala基础、面向对象编程基础、函数式编程基础 暂无 下载
第3章 Flink的设计与运行原理 Flink简介、Flink应用场景、Flink中的统一数据处理、Flink技术栈、Flink工作原理、Flink编程模型、Flink的应用程序结构、Flink中的数据一致性 暂无 下载
第4章 Flink环境搭建和使用方法 安装Flink、在Scala Shell中运行代码、开发Flink独立应用程序、设置程序运行并行度、Flink集群环境搭建 暂无 下载
第5章 DataStream API DataStream编程模型、窗口的划分、时间概念、窗口计算、水位线、延迟数据处理、状态编程 暂无 下载
第6章 DataSet API DataSet编程模型、数据源、数据转换、数据输出、迭代计算和广播变量 暂无 下载
第7章 Table API&SQL 编程模型、Flink Table API、Flink SQL、自定义函数 暂无 下载
第8章 FlinkCEP 概述、Pattern API、模式的检测、应用实例 暂无 下载

课后作业

课后作业的形式是,同学下载作业说明,然后按照作业要求进行上机实践,并撰写电子版上机实验报告(WORD文档),并在指定日期之前发送给林子雨老师(E-mail:ziyulin@xmu.edu.cn)。

章节 作业名称 作业下载 作业提交时间
期末大作业 ****之前提交给ziyulin@xmu.edu.cn

课程教材

本课程采用林子雨编著《Flink编程基础(Scala版)》,让初学者零基础零障碍学习Flink。本书以Scala作为开发Flink应用程序的编程语言,系统介绍了Flink编程的基础知识。全书共8章,内容包括大数据技术概述、Scala语言基础、Flink的设计与运行原理、Flink环境搭建和使用方法、DataStream API、DataSet API、Table API&SQL、FlinkCEP等。本书每个章节都安排了入门级的编程实践操作,以便读者更好地学习和掌握Flink编程方法。本书可以作为高等院校大数据、计算机、软件工程等专业的进阶级大数据课程教材,用于指导Flink编程实践,也可供相关技术人员参考。本书官网免费提供了全套的在线教学资源,包括讲义PPT、习题、源代码、软件、数据集、授课视频、上机实验指南等。

拓展学习

在本课程的学习过程中,感兴趣的学生,建议在课后参考以下资料自学更多的大数据相关技术。

1.《大数据技术原理与应用》课程视频观看

林子雨编著《大数据技术原理与应用(第3版)》(人民邮电出版社2021年1月正式出版发行第3版,京东、当当各大网店热销书籍),侧重于介绍大数据技术的实现原理,编程实践内容较少,该教材定位为入门级大数据教材,以“构建知识体系、阐明基本原理、开展初级实践、了解相关应用”为原则,旨在为读者搭建起通向大数据知识空间的桥梁和纽带,为读者在大数据领域深耕细作奠定基础、指明方向。教材系统论述了大数据的基本概念、大数据处理架构Hadoop、分布式文件系统HDFS、分布式数据库HBase、NoSQL数据库、云数据库、分布式并行编程模型MapReduce、数据仓库Hive、大数据处理架构Spark、流计算、流计算框架Flink、图计算、数据可视化以及大数据在互联网、生物医学和物流等各个领域的应用。

《大数据技术原理与应用(第3版)》教材拥有配套的高清课程视频(观看),共13讲,视频累计长度1300分钟。该课程荣获“2018年国家精品在线开放课程”和“2020年国家级线上一流本科课程”。读者在学习本教程的同时,可以通过观看在线视频,了解相关大数据技术的实现原理,从而更好实践大数据技术。

2.大数据软件安装和编程实践指南访问

详细学习如何安装运行各种大数据软件以及如何进行初级编程实践,包括Hadoop、HDFS、HBase、MapReduce、Spark、Hive、Flink等安装、操作、编程指南。帮助学生“零基础、零障碍”学习大数据技术。

3.大数据课程实验案例《网站用户购物行为分析》(访问

采用2000万条用户购物数据集,案例涉及数据预处理、存储、查询和可视化分析等数据处理全流程所涉及的各种典型操作,涵盖Linux、MySQL、Hadoop、HBase、Hive、Sqoop、R、Eclipse等系统和软件的安装和使用方法。案例适合高校大数据教学,可以作为学生学习大数据课程后的综合实践案例。

课程助教

班级相册

为学生留下最美的课堂记忆。