《大数据处理框架技术》课程思政设计与实践

2022-05-29 23:09刘海彭云峰贾伟峰王波
电脑知识与技术 2022年12期
关键词:团结协作课程思政

刘海 彭云峰 贾伟峰 王波

摘要:发掘课程内容蕴含的思政元素,融入专业知识和技能的教学过程,是高校“课程思政”工作全面推进的重要内容。《大数据处理框架技术》作为大数据专业的专业核心课,同时作为大数据处理流程中最重要的一个环节,课程具有十分重要的承上启下的作用。在课程的教学目标中,提到最多的就是工程思想,这与现实生活中的优秀工程思想“红旗渠”精神存在一定的契合度。进一步地深入挖掘发现,课程中的RDD设计思想与“红旗渠”精神中的“团结协作”精神要点可以进行有效融合。该文就以上所述内容的课程思政设计与实践过程展开了详细的阐述与总结。

关键词: 课程思政; 红旗渠精神;RDD设计原理;团结协作

中图分类号:G642        文献标识码:A

文章编号:1009-3044(2022)12-0132-03

开放科学(资源服务)标识码(OSID):

1 引言

《大数据处理框架技术》是大数据专业的一门专业必修课,课程对于学生认识大数据的处理流程和处理原理具有十分重要的意义。而在众多的大数据处理框架技术中,Spark以其高效的内存计算在迭代计算领域逐渐拔得头筹,目前Spark的使用趋势从2015年开始已经超越Hadoop的市场占比[1]。Spark内存计算的本质又是以RDD为数据基础的数据集转换和行动操作,各个操作最终形成了记录数据集变化的DAG图,为减少各阶段之间的串行依赖,提高并行计算能力,就需要尽可能地减少RDD运行的阶段数量,RDD在Spark中的运行过程如图1所示。因此RDD工作原理和阶段划分的讲解在每年的课程讲解中都需要花费大量的时间和精力。

2021年中国共产党迎来百年华诞,7月1日,习近平总书记在庆祝大会上做了重要讲话(简称“七一”重要讲话,下同)。“七一”重要讲话为各行各业的发展指明了前进的方向,也为高校课程思政教学提供了丰富的精神资源[2]。习近平总书记一贯重视高校思政教育,多次指出各类课程应与思想政治理论课同向、同行,强调“要坚持显性教育和隐性教育相统一,挖掘其他课程和教学方式中蕴含的思想政治教育资源,实现全员、全过程、全方位育人”。“七一”重要讲话也为《大数据处理框架技术》教学指明了新的方向和新的思路,《大数据处理框架技术》课程的教学目标中提到最多的就是工程思想,那么可以把现实的某一具体工程设计思想融入课程,也可以进一步把符合工程思想的“红旗渠精神”融入课程。

2 RDD课程思政设计思路

20世纪60年代,河南安阳林州人民在太行山悬崖峭壁上修建了举世闻名的“人工天河”——红旗渠,孕育形成了“自力更生、艰苦创业、团结协作、无私奉献”的红旗渠精神[3]。红旗渠精神中的“团结协作”精神要点是对当年30万林县人克服重重困难于物资不足、粮食不足的环境中在短短10年间就完成了举世瞩目成绩的体现。30万人不是一个小的数字,30万人的组织和协调也不是一件简单的事情,其需要工程项目组织者认真筹划项目的各个阶段,并有效地把具体任务分配到各个工人,更重要的是要协调各个工人之间的任务衔接,只有这样,才能把团结起来的30万人的工作效率发挥到最大。

而在RDD的设计原理中,同样体现着在数据已知、计算资源已知的前提下,各个RDD如何有效的分工协作才能最大化提高计算效率的思想。RDD的设计原理在于实现RDD之间更多并行的操作,减少RDD之间的串行操作。因为RDD之间存在着前后相互依赖的关系,后续RDD的执行需要等待其前面相依赖的所有RDD都执行完毕。但是并不是所有的RDD之间都存在直接的依赖关系,对于在同一空间和时间没有相互关系的RDD就可以实行并行的操作,这样就可以最大化减少数据处理的整体时间。

根据《大数据处理框架技术》课程的教学目标,课程希望学生在教学实验中以团队为主体协作完成大数据系统的分析与设计工作,并不断进行自我完善,优化知识结构以适应其他需求。因此RDD的设计理念与红旗渠精神中的“团结协作”要点是一致的,当面对修建红旗渠这一重大任务时,科学的协作会发挥出更大的效率。

3 RDD课程思政设计与实践过程

3.1 RDD设计背景

Spark是一个基于内存迭代计算的大数据计算模型,它的出现改变了Hadoop的MapReduce计算模型,由于其强大的计算机能力和运行效率,Spark迅速进入了大数据开发人员的视野,占领了大数据计算的主要市场[4]。RDD是Spark解决迭代计算的核心思想,通过将计算数据保存在分布式的内存中以此减少IO操作,这也是Spark基于内存计算的由来[5]。迭代式算法(比如机器学习、图算法等)和交互式数据挖掘工具共同之處在于不同计算阶段之间会重用中间结果,Hadoop采用的是磁盘读写的方式,也就是说对于每一次计算而言,计算开始都要从硬盘读取数据,计算结束后再把结果写入磁盘,磁盘的读写浪费了大量的时间。以上内容为教师在课堂上所要讲授的专业知识内容。

上述所讲授Hadoop工作过程与红旗渠修建过程相比较的话,就好比在修建红旗渠过程中,如果每做完当天布置的任务就要跑回林县县城指挥部获取明天的任务,则时间都花在了冤枉路上。此处对应于实际的教学过程中,教师要通过知识的讲解和提问以及学生发言等方式引导学生通过RDD内存计算的优势去解决红旗渠修渠过程中的每日任务获取问题。

3.2 RDD的概念

那么在修建红旗渠的过程中碰到上述问题怎么办呢?让同学们以小组为单位思考并讨论5分钟,此处践行了CDIO工程教育理念中的“构思”过程。所谓CDIO工程教育理念是以构思(Conceive)、设计(Design)、实施(Implement)、运行(Operate)等全生命周期为载体,培养学生的基础知识、工程实践能力、自主学习能力和团队协作能力等四个方面的预期目标[6-7]。不同于传统的老师教学生学的方式,CDIO工程教育理念更多的是希望学生在老师的引导下,能体现学生以学为中心,能针对某一问题独立进行构思、设计、实现和运行[8]。为提高同学们讨论和回答问题的积极性,可以通过设置平时成绩加分项等激励性措施鼓励大家自由发言,对于发言较好的同学增加相应的平时成绩,同时为培养学生的团队协作意识,尤其鼓励学生以小组为单位的协作式回答问题或者主动上讲台进行翻转课堂教学。

学生讨论的结果大致可以分为总指挥部转移到现场和工人多记住几天任务两种。对于总指挥部转移到现场的情况,其在根本上不能实质性地解决问题,因为红旗渠工程太大,不可能全部靠近所有工人。因此要想在根本上解决问题,正确的策略应该是让工人记住更多的任务。对于数据计算而言,人的记忆力就相当于内存计算。

3.3 RDD之间的依赖关系

对于红旗渠建设这样一个宏大的工程,在缺水缺资源的艰苦环境下,只有尽快地完成整个工程的修建,才能解决林县长期缺水的问题,也才能在有限的资源下发挥最大的价值。因此单个工人的效率不代表整个工程的效率,整个工程存在多个子项目,子项目之间有的存在依赖关系,有的不存在,只有充分调动不存在依賴关系的子工程同时开工,才能在整体上提高工程的效率。此处需要引导学生思考对于RDD计算而言的话,在众多的RDD之中,哪些RDD之间是存在相互依赖关系的,哪些是不存在相互依赖关系的,现在RDD数量已知,那么如何用最短的时间让所有的RDD都计算完毕就成为RDD设计的关键因素。很明显,RDD的设计与红旗渠的建设在原理上是相同的,同红旗渠建设过程相似,RDD之间也是存在直接依赖或者间接依赖关系的基于内存的数据集,只有让尽量多不存在直接依赖关系的RDD同步并行执行,才能最大限度上提高大数据处理的整体效率。上述过程对应于CDIO工程教育理念中的初步“设计”过程。在实际的教学过程中,教师要以红旗渠建设这一实际的工程问题解决方案为基础,首先引导学生去思考实际的红旗渠建设子项目间的协作方案,在此基础上,再引导学生转入RDD之间的协作方案解决思路。

3.4 RDD阶段之间的划分

通过RDD中的转换(Transformation)操作方法和行动(Action)操作方法,可以剖析出所有RDD之间直接或者间接关系的DAG图,DAG图对应到红旗渠建设过程中,相当于红旗渠建设的子工程时间计划表。那么如何划分RDD之间的同步并行或者异步串行过程呢?按照上面所述,要想办法让更多的RDD同步并行才能最大限度上提高整体的工作效率。在实际的教学过程中,此处要引导学生按照时间顺序和子工程的衔接性进行阶段的划分。以修红旗渠来说,首先要勘测水平,确定整个渠道从上游到下游之间的高度差。这步完成之后,才能进行炸山和挖渠的过程,这一过程与前一过程是不能同时进行的,因为这一过程要完全依赖于上一过程的结果,但是这一过程与下一过程对渠道进行修葺和涂抹防渗水材料的过程是可以同时进行的。最后整个实质过程完成之后,就是红旗渠的通水过程了,红旗渠的通水过程又是一个不能与前一过程并行执行的过程,通水的前提在于前面所有的工程都顺利完成。因此,对于修建红旗渠而言,可以把能同时运行的子项目都划分到一个阶段,而把不能同时运行的存在前后依赖关系的子项目划分在不同的阶段。划分阶段的过程也是提高整体工程效率的过程,阶段越少,一方面各个阶段包含的能并行执行的子项目越多,另一方面整个工程总的运行时间越短。既然目前已知阶段的减少可以提高整体工程的效率,那么接下来面临的问题就是如何进行阶段的划分才能使得阶段的数量最少。现在整个工程的各个子项目及子项目间的关系已知,按照工程从开始到结束的时间进行划分的话,固然可以。按照反推法,从工程结束往前倒推的方法也是可以的。此处需要让学生首先在小组内讨论得出各自小组的结论,然后再在课堂上现场进行翻转课堂教学阐述各自小组的观点,进而在整体的讨论中对比分析,从而得出最优的结论。

现在类比到RDD中,可以发现与修建红旗渠的情况几乎是一样的,各个RDD之间的关系已知,并且组成了相应的DAG图。为了提高RDD的整体运行效率,也就要让整个RDD运行过程中用最少的阶段执行最多的并行RDD任务。那么采用什么方法对RDD进行阶段划分才能实现阶段的最小化呢?通过讨论可以知道学会使用反推法,在结果已知的情况下,那么就从最靠近结果的RDD开始,把RDD有直接关系的划分到一个阶段,没有关系的划分到不同的阶段,并且要尽可能少划分阶段,此问题即可解决。上述过程对应于CDIO工程教育理念中的“设计”和“实现”过程。

3.5 阶段考核

上述通过CDIO工程教育理念,结合讲授法、引导法、讨论法和翻转课堂等教学方法对知识讲解完毕后,接下来就需要对学生的课堂学习效果进行测试,题目可以采用“学习通”平台进行发布,根据“学习通”上的测试成绩就可以实时地分析出学生的课堂学习效果,因此整个过程是可评估的,学生也是有获得感的。因为在此过程中,学生不仅收获了对专业知识的掌握,也收获了对现实工程问题的解决思路的掌握,更收获了红旗渠精神中的“团结协作”精神要点的精髓,最后也收获了使用CDIO工程教育理念解决复杂问题的能力,所谓“授人以鱼不如授人以渔”,掌握学习的方法要比掌握知识本身更重要。从课程教学目标考虑,本课程通过融入红旗渠修建过程中的“团结协作”理念,可以使学生理解团结协作解决复杂工程问题的重要性,同时也会让学生理解修建红旗渠的不易性,团结协作在于两个方面,一个是大家思想上的团结性,另一个是分工协作的高效性。上述过程对应于CDIO工程教育理念中的“运行”过程。

4 总结

知识都是来源于生活的,无论再难的知识点也是通过对大自然的总结所得出的科学结论。知识来源于生活,也最终要回归生活,教师对工科知识的讲解一定要契合实际的案例才能让学生对所学知识有深刻的理解和掌握,也才能让学生善于从实际的生活去对标课堂所学知识点。因此教师要善于去挖掘课程中所蕴含的思政资源,善于把课程知识点与现实生活中的案例有效地融合起来。实际上工科知识的讲解存在很多思政案例,因为工科的宗旨与科学精神和工程精神是一致的,都是要精益求精,都是为了解决某一问题而经历的求解过程。因此,在知识讲解过程中把握住大体流程就可达到思政内容锦上添花的目的。

本次红旗渠精神中“团结协作”与RDD工作原理结合的齐头并进RDD课程思政在整体上还是融合得非常好,但是依然存在融合深度不够,有待进一步深化的问题,后期计划把修渠工人与RDD,工人之间协作与RDD协作进一步进行深度的融合。

参考文献:

[1] 胡德敏,龚燕.基于Spark的混合推荐算法研究[J].计算机应用研究,2017,34(12):3585-3588.

[2] 周竹梅,宋岩,李海廷.以“七一”重要讲话引领会计课程思政教学[J].会计之友,2021(21):158-161.

[3] 岳小兵.红旗渠畔党旗红[N].东方烟草报,2021-08-23(004).

[4] 方文都.基于Spark的物品推荐系统的设计与实现[D].北京:北京邮电大学,2021.

[5] 杨浪.基于Spark的电影推荐系统设计与实现[D].北京:北京邮电大学,2021.

[6] 戴宏明,戴宏亮.新工科背景下基于CDIO理念的软件工程应用型人才培养方案研究[J].计算机教育,2020(1):64-67.

[7] 胡志刚,任胜兵,陈志刚,等.工程型本科人才培养方案及其优化——基于CDIO-CMM的理念[J].高等工程教育研究,2010(6):20-28.

[8] 刘海,刘凌霞,曹领.基于CDIO的计算机网络教学改革探索[J].数字化用户, 2019, 25(51): 350,352.

【通联编辑:代影】

猜你喜欢
团结协作课程思政
基于OBE理念的航空医学课程思政教育改革探讨
学好质量管理,锻造品质人生
发挥专业特色 实施“课程思政”
增强团队意识展现体育之美
唤醒倾听的耳朵,打开合作的心扉
浅谈体育教学中的德育教育