林子雨报告全文:大数据处理技术Spark课程资源和教学经验分享

第2届全国高校大数据教学研讨会大会特邀报告

扫一扫访问本网页

【关键词】高校;大数据;课程;教学;公共服务体系;Spark;大数据技术原理与应用

尊敬的各位来宾,大家上午好!

很荣幸,作为大会东道主为大会献上最后一个特邀报告。今天的报告里,我将首先介绍一下我们厦门大学数据库实验室团队历时五年建设的“高校大数据课程公共服务平台”,其次,简要介绍厦门大学已经建设完成的大数据课程体系,然后,简要介绍Spark课程的先修课程《大数据技术原理与应用》的课程资源,最后,重点介绍《Spark编程基础》课程资源与教学经验。

一、高校大数据课程公共服务平台

高校大数据课程公共服务平台的亮点工作包括以下几个方面:

二、厦门大学建设的大数据课程体系

从2013年开始,经过为期五年的建设,厦门大学已经建成了涵盖入门课程、进阶课程和实习实训在内的大数据课程体系,可以为全国高校提供包括教材、讲义PPT、习题、案例、视频、师资培训等全方位的大数据课程服务。

案例1:基于SparkMLlib电影推荐实验案例案例2:Sqoop+Hive+HBase+MR+R某技术论坛日志分析项目案例案例3:Kafka+Spark+Redis+R实时分布式日志流处理案例案例4:HDFS+Spark+MySQL+JSP用户行为分析案例案例5:点击流日志分析实验案例

图厦门大学林子雨老师团队建设的大数据课程体系

三、先修课程《大数据技术原理与应用》

《大数据技术原理与应用》是《Spark编程基础》的先修课程。下面,我将从课程定位、教材选择、课时安排、实验内容、考核方法、课程资源等方面,介绍《大数据技术原理与应用》课程的建设方法和经验。

(一)课程定位

(二)教材选择

(三)课时安排

课程共16周,每周2学时,总计32学时(理论32学时,可以另外安排16个实验上机学时)。

(四)实验内容

1.上机实验指南

实验一:熟悉常用的Linux操作和Hadoop操作

实验二:熟悉常用的HDFS操作

实验三:熟悉常用的HBase操作

实验四:NoSQL和关系数据库的操作比较

实验五:MapReduce初级编程实践

2.综合实验案例

(五)考核方法

(六)课程资源

四、《Spark编程基础》课程资源与教学经验

1.编程语言的选择

选择教材时,必须首先确定编程语言。Spark支持多种编程语言:Scala、Java、Python、R。Spark首选语言是Scala,可以把Python作为课程拓展学习。

Spark这个软件本身就是使用Scala语言开发的,采用Scala语言编写Spark应用程序,可以获得最好的性能。关于采用哪种语言编写Spark应用程序,这里强调两点:

(1)Java代码太繁琐。在大数据应用场景中,不太适合使用Java,因为,完成同样的任务,Scala只需要一行代码,而Java则可能需要10行代码;而且,Scala语言可以支持交互式编程,大大提高了程序开发效率,而Java则不支持交互式执行,必须编译以后运行。

(2)Python语言并发性能不好。在并发性能方面,Scala要明显优于Python,而且,Scala是静态类型,可以在编译阶段就抛出错误,便于开发大型大数据项目,此外,Scala兼容Java,运行在JVM上,可以直接使用Java中的HadoopAPI来和Hadoop进行交互,但是,Python与Hadoop之间的交互非常糟糕,通常都需要第三方库(比如hadoopy)。

2.纸质教材

披荆斩棘,在大数据丛林中开辟学习捷径

填沟削坎,为快速学习Spark技术铺平道路

深入浅出,有效降低Spark技术学习门槛

资源全面,构建全方位一站式在线服务体系

本书以Scala作为开发Spark应用程序的编程语言,系统介绍了Spark编程的基础知识。全书共8章,内容包括大数据技术概述、Scala语言基础、Spark的设计与运行原理、Spark环境搭建和使用方法、RDD编程、SparkSQL、SparkStreaming、SparkMLlib等。本书每个章节都安排了入门级的编程实践操作,以便读者更好地学习和掌握Spark编程方法。本书官网免费提供了全套的在线教学资源,包括讲义PPT、习题、源代码、软件、数据集、授课视频、上机实验指南等。

3.免费在线教程

课程共16周,每周2学时,总计32学时理论课程。各高校可根据实际情况,再额外增加16学时实验上机。

(四)交叉知识

本课程涵盖知识内容包括:操作系统(Linux)、分布式存储(HDFS、HBase)、分布式计算(SparkCore)、流计算(SparkStreaming)、机器学习(SparkMLlib)、查询分析(SparkSQL)、日志采集(Flume)、消息分发(Kafka)、数据仓库(Hive)、关系数据库(MySQL)、机器学习/数据挖掘等知识。同时要掌握开发工具Eclipse、IntelliJIDEA以及编译打包工具sbt和Maven等。

图《Spark编程基础》教材中涉及的交叉知识

(五)实验内容

1.上机环境搭建

2.上机实验指南

实验1-Linux系统的安装和常用命令

实验2-Scala编程初级实践

实验3-Spark和Hadoop的安装

实验4-RDD编程初级实践

实验5-SparkSQL编程初级实践

实验6-SparkStreaming编程初级实践

实验7-Spark机器学习库MLlib编程实践

(七)授课视频

(八)师资培训

结束语

厦门大学数据库实验室在过去四年投入大量精力建设了丰富的大数据课程资源,总体而言,我们的课程建设模式如下:以大量教学实践推动课程和教材建设、以平台思维促进教学资源汇聚和共享、以迭代方法不断优化升级教学内容、自我造血为课程建设提供稳定资金保障。

最后,衷心感谢各位来宾对本次会议的大力支持,让我们共同努力,一起助力中国高校大数据教学事业不断迈上新的台阶。谢谢大家!

THE END
1.推荐一个不错的算法学习教程但人就是不容易死心的,每隔一段时间吧,我就想再学一学算法,多学一点儿算一点嘛。 就在前两天刷 github的时候,发现了一本完全开源的算法教程,叫做《Hello,算法》,我简单浏览了一下,马上就 star、收藏了。 在线地址:https://www.hello-algo.com https://zhuanlan.zhihu.com/p/710451081
2.零基础学编程,中文编程入门视频教程中文编程教程本文提供了一套针对初学者的零基础中文编程教程,详细介绍了编程工具的使用、各种构件的属性、方法和事件,包括文本件、按钮件、选择件等,旨在帮助读者快速掌握编程基础知识。 摘要由CSDN通过智能技术生成 零基础学编程,中文编程入门视频教程 一、前言 编程入门视频教程链接 https://blog.csdn.net/qq_29129627/article/details/135918925
3.AI+编程借助AI工具轻松完成编程任务腾讯云开发者社区最近没事的时候逛了逛知乎,看到一些编程疑问就随手回答下。其实很多问题 借助AI工具可以轻松解决。可能提问者思维没有转变过来,还是喜欢通过论坛或问答的方式找答案。 这里简单分享2个案例,希望对大家有所启发。 案例1、一个简单的python计算问题 按照之前的做法:就是用Math函数, 现在碰到这种问题,其实直接用AI工具就https://cloud.tencent.com/developer/news/1728498
4.课程:《算法竞赛宝典》语言及算法入门(公开课程)在线题库 语言和算法入门 竞赛基础算法 动态规划 基础数据结构 编程与数学 在线比赛在线题库 一级题库 二级题库 三级题库 四级题库 五级题库 六级题库 七级题库 八级题库 九级题库 十级题库 培训课程 语言与算法入门 基础算法艺术 基础数据结构 数学与程序设计 普及组初赛指导 提高组初赛指导 普及组复赛指导http://razxhoi.21cnjy.net/course/view.php?id=8
5.编程学习计划15篇(荐)在熟悉了编程的基础知识之后,我们将进入学习编程语言的阶段。选择一门学习编程的语言需根据自己的需要和兴趣来确定。选择一门易学、易用和广泛使用的编程语言对于初学者是非常有帮助的。另外,你可以通过视频教程、在线课程等方式来进行编程语言学习。 三、做编程实验 https://www.yjbys.com/xuexi/jihua/4351332.html
6.单片机原理及应用教程第4版第1章单片机应用基础概述在线免费当PC运行单片机等微处理器开发环境软件时,可以通过PC方便地实现对单片机等微处理器芯片的编程、编译、代码下载及调试,这时的PC通常称为上位机。PC作为上位机与单片机开发板通信如图1-4所示。 图1-4 PC与单片机通信连接 1.2 数制与编码 在计算机中,任何命令和信息都是以二进制数据的形式存储的。计算机所执行的全部操https://fanqienovel.com/reader/7110144623195982860
7.全网最全程序员学习网站汇总,还不赶快收藏上面的在线教程网站以文字性内容为主,同样收藏了少量以视频为主的少量网站,相比较而言,更容易上手,当然,也更加耗时间。 1、B站 地址:bilibili 简介:没错,bilibili也可以用来学习,除了番剧、鬼畜之外,b站同样有非常多的高质量的编程教学视频,搜索就行了。 https://www.songma.com/news/txtlist_i66992v.html
8.算法基础与在线编程实验教程C++版《算法基础与在线编程实验教程(C++版)》笔者希望透过提供《5DG基础算法题库》的全部AC代码这种方式,树立读者到5DG在线编程平台上做题的信心,尝到自己能够解题并且通过努力能够克服难题的成就感,由此体会编程的甜蜜从而愿意投入更多的时间学习编程。与此同时,如果读者能在《算法基础与在线编程实验教程(C++版)》的https://baike.baidu.com/item/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80%E4%B8%8E%E5%9C%A8%E7%BA%BF%E7%BC%96%E7%A8%8B%E5%AE%9E%E9%AA%8C%E6%95%99%E7%A8%8BC%2B%2B%E7%89%88/61146386
9.人类高质量Java学习路线一条龙版? 刷了 1000 多道算法题,一点心得:https://t.1yb.co/oT9q(鱼皮原创) 在线教程 ? LeetCode LeetBook:https://leetcode-cn.com/leetbook/ 在线刷题 ? LeetCode:https://leetcode-cn.com/ 书籍 ?《小灰的漫画算法》 ?《剑指 Offer》 https://xie.infoq.cn/article/a9fd4615c281e8ca41840ce37
10.ClojureTutorial在线播放学习编程语言 Python编程冬令营进阶级 编程语言 Python编程冬令营入门级 编程语言 蓝桥杯数据结构+算法课程 编程语言 算法与数据结构入门+基础班 编程语言 郝斌老师数据结构自学视频 编程语言 C语言与计算机等级考试 编程语言 数据结构与算法特训班365天 编程语言 零基础Python教程 编程语言 Python高级进阶教程 https://www.waitang.com/play/74685.html
11.Python编程入门教程,从基础到进阶学习编程语言网络教程Python编程入门教程:从基础到进阶学习之旅 引言 Python,作为一门广泛应用于数据科学、人工智能、网站开发等多个领域的编程语言,因其简洁的语法和强大的功能而备受喜爱。无论你是编程初学者,还是想要转行进入IT行业,Python都是一个非常好的起点。本文将为您详细讲解从Python基础到进阶的学习路径,帮助您逐步掌握这门强大https://blog.yyzq.team/post/455441.html
12.C语言中文网:C语言程序设计门户网站(入门教程编程软件)C语言中文网是中国领先的C语言程序设计专业网站,提供C语言入门经典教程、C语言编译器、C语言函数手册,C语言编程技巧,C语言考试试题等,是学习、自学C语言程序设计的好帮手。https://c.biancheng.net/
13.MQL5交易者编程Data input Error fixing and debugging Data output Formatting, indentation, and spaces Mini summary Programming fundamentals Object Oriented Programming Common APIs Creating application programs Trading automation Advanced language tools Conclusion 在一个文件中下载: MQL5算法教程(PDF) MQL5算法教程(CHM) Stanislavhttps://www.mql5.com/zh/book
14.大学计算机教程中国农业大学常见计算机操作系统技术及应用、移动智能终端操作系统技术与创意、Office/WPS等办公自动化技术及应用、数据库设计理论及应用、结构化查询语言SQL功能及应用、多媒体技术基础机应用、局域网技术与Internet网络技术及应用,以及计算机程序设计算法与实现基础等,可作为理论结合实践应用的计算机导论课程,也可作为信息技术通识教育https://www.xuetangx.com/course/CAU08091000590/10322659
15.Matlab在线教程MATLAB(矩阵实验室)是第四代高层次的编程语言和交互式环境数值计算,可视化和编程。MATLAB是由MathWorks公司开发。 它允许矩阵操作;绘制函数和数据;实现算法;创建用户界面,和在其他语言,包括?,?++,Java和Fortran语言编写的程序接口; 分析数据;开发算法,并建立模型和应用程序。 http://gitbook.net/matlab/index.html
16.喜报:昌平二中学子在信息学奥赛系列活动中斩获佳绩!2022年秋季,由昌平二中杨静老师牵头编著,中国工程院院士蔡鹤皋作为总主编的信息学普及图书《算法与编程竞赛入门教程》已正式出版,全书将科学性与趣味性结合、内容结构合理、例题丰富、配套高质量智慧学习平台,为学生的学习提供了很好的引导,该书的出版为昌平二中乃至全区信息学人才培养做了开创性贡献。 https://bjcpez.com/newsinfo/4704391.html
17.ccd视觉检测软件编程教程(ccd视觉检测软件编程教程图片)无论你是初学者还是有一定经验的开发者,本文都将为你提供一份简明扼要的教程。我们将从基础知识开始,逐步介绍ccd视觉检测软件的原理、应用和编程技巧。无需担心难度,我们会用通俗易懂的语言和实例来讲解,让你轻松入门。无论你是想应用ccd视觉检测软件解决实际问题,还是想深入研究其算法和原理,本文都会为你提供一些https://www.0755vc.com/15908.html
18.学编程网学编程网一个面向编程初学者提供零基础编程技术与教程,程序员学习技术找资料的网站,Python教程、C++教程、PHP教程、WEB前端教程、java教程、小程序开发、公众号开发、影视剪辑、后期特效、算法与数据结构等课程在内的各种入门教程;是国内领先实用的综合性编程学习网站!https://www.xuebc.com/
19.OCaml语言编程基础教程人们在函数式领域开发和检验了大量语言概念、实现技术和编程技术,这些工作在程序设计和软件技术的发展中起到至关重要的作用。早期的例子如动态存储分配,自动存储回收(废料收集),基于栈的语言实现技术,表和表处理,基于链接的数据结构,递归函数定义,尾递归优化,函数的函数参数(高阶函数),有关数据类型的研究和类型理论,https://www.epubit.com/bookDetails?id=N18159
20.Scratch编程教程:“我的变量”变量积木指令用法详解点图领0元编程课,学编程创造孩子终身价值 更多课程 相关内容 Scratch编程教程:Scratch3积木指令用法详解大全 2024-12-16 Scratch编程算法:选择排序 2024-12-08 Scratch编程算法:插入排序 2024-12-08 微信扫码-0元西瓜编程领课 西瓜编程思维 微信扫码-0元小码王编程课 https://kidscodes.cn/3387.html
21.免费的C语言编程教程,零基础入门到进阶,带你轻松掌握C语言开发此外,尝试参与开源项目或在线编程平台的挑战,也是提升C语言能力的有效途径。通过参与团队开发或解决更复杂的算法问题,初学者能够更好地锻炼自己的编程能力和代码优化技巧。在此过程中,学习如何处理更复杂的数据结构(如链表、树、图等)和算法(如排序、查找、图遍历等)将进一步推动你的编程进阶。 https://www.zhishiku.com/post/191168.html