李天格,許鵬
(鄭州財(cái)經(jīng)學(xué)院,河南鄭州 450000)
習(xí)近平總書記在中共中央政治局第二次集體學(xué)習(xí)時(shí)強(qiáng)調(diào)“審時(shí)度勢(shì)精心謀劃超前布局力爭(zhēng)主動(dòng),實(shí)施國(guó)家大數(shù)據(jù)戰(zhàn)略加快建設(shè)數(shù)字中國(guó)。”[1]毫無(wú)疑問(wèn),大數(shù)據(jù)時(shí)代已經(jīng)到來(lái),新一輪的科學(xué)技術(shù)變革正在快速推進(jìn),而大數(shù)據(jù)技術(shù)就是這一變革的核心推動(dòng)力之一。實(shí)施國(guó)家大數(shù)據(jù)戰(zhàn)略離不開大數(shù)據(jù)人才。而高校承擔(dān)了培養(yǎng)大數(shù)據(jù)人才的主要責(zé)任。
截止目前,各大高校相繼開設(shè)了數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)專業(yè)。大數(shù)據(jù)課程遍地開花,Spark大數(shù)據(jù)處理技術(shù)作為一門實(shí)踐性、應(yīng)用性較強(qiáng)的課程,被廣泛選為高年級(jí)學(xué)生的專業(yè)提升課。
數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)專業(yè)最早于2016 年在國(guó)內(nèi)開設(shè),專業(yè)歷史較短,相應(yīng)地,關(guān)于該專業(yè)課程的教學(xué)研究也相應(yīng)較少,課程無(wú)相對(duì)成熟體系。本文針對(duì)數(shù)據(jù)科學(xué)與大數(shù)據(jù)專業(yè)的重點(diǎn)課程Spark 大數(shù)據(jù)處理技術(shù)進(jìn)行了教學(xué)探究,以期提升該課程的教學(xué)效果。
大數(shù)據(jù)技術(shù)指大數(shù)據(jù)的應(yīng)用技術(shù)。大數(shù)據(jù)是指利用常用軟件工具捕獲、管理和處理數(shù)據(jù)所耗時(shí)間超過(guò)可容忍時(shí)間的數(shù)據(jù)集。大數(shù)據(jù)具有數(shù)據(jù)體量大(Volume)、數(shù)據(jù)類型繁多(Variety)、處理速度快(Velocity)、價(jià)值密度低(Value)等特征(簡(jiǎn)稱4V特征)。
大數(shù)據(jù)的基本處理流程,主要包括數(shù)據(jù)采集、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)處理、結(jié)果可視化等環(huán)境。因此,從數(shù)據(jù)分析的過(guò)程來(lái)看,大數(shù)據(jù)技術(shù)主要包括:數(shù)據(jù)采集、數(shù)據(jù)清洗與預(yù)處理、數(shù)據(jù)存儲(chǔ)和管理、數(shù)據(jù)處理分析、數(shù)據(jù)挖掘、結(jié)果可視化、數(shù)據(jù)隱私安全等幾個(gè)層面的內(nèi)容。
此外,大數(shù)據(jù)技術(shù)及其代表性軟件類型繁多,不同的技術(shù)有不同的適用場(chǎng)景。目前,大數(shù)據(jù)的代表產(chǎn)品有Spark、MapReduce、Storm、Flume、S4、Streams、Pregel、Hive、HBase、Flink、Beam等。這些技術(shù)主要對(duì)應(yīng)著4 種大數(shù)據(jù)計(jì)算模式:批處理計(jì)算、流計(jì)算、圖計(jì)算和查詢分析計(jì)算。其中,Spark技術(shù)由于其快速的發(fā)展成為了高校講解大數(shù)據(jù)處理技術(shù)的首選案例。
Spark 誕生于2009 年美國(guó)加州大學(xué)伯克利分校的AMP 實(shí)驗(yàn)室,是一個(gè)可應(yīng)用于大規(guī)模數(shù)據(jù)處理的快速、通用引擎,隸屬于Apache 組織,是目前Apache 最活躍的項(xiàng)目之一,被標(biāo)榜為“快如閃電的集群計(jì)算”。
Spark提供了一個(gè)一站式大數(shù)據(jù)解決方案。既可以提供基于內(nèi)存的計(jì)算框架,又可以滿足即時(shí)查詢(Spark SQL)、流計(jì)算(Spark Streaming)、機(jī)器學(xué)習(xí)(Mllib)、圖計(jì)算(GraphX)等場(chǎng)景。因此,Spark所形成的生態(tài)系統(tǒng)可以同時(shí)支持批處理計(jì)算、流計(jì)算、圖計(jì)算、交互式查詢分析計(jì)算等計(jì)算模式。
雖然Hadoop 已成為大數(shù)據(jù)技術(shù)的事實(shí)標(biāo)準(zhǔn),但其本身存在諸多缺陷,Spark 在借鑒Hadoop 的計(jì)算模型MapReduce 優(yōu)點(diǎn)的同時(shí),很好地解決了MapReduce 的一系列問(wèn)題。2014 年Spark 打破了Hadoop 保持的基準(zhǔn)排序記錄,使用206 個(gè)節(jié)點(diǎn)在23 分鐘內(nèi)完成了Hadoop 需要2000 個(gè)節(jié)點(diǎn)于72 分鐘內(nèi)才能完成的100TB的數(shù)據(jù)排序任務(wù)。Spark儼然成為大數(shù)據(jù)計(jì)算平臺(tái)的后起之秀。該記錄的誕生,使得Spark 收獲了更多歡迎和聲望。因此,各大高校相繼開設(shè)了以Spark 技術(shù)為基準(zhǔn)的大數(shù)據(jù)處理課程。
Spark 大數(shù)據(jù)處理技術(shù)作為一門新開設(shè)的專業(yè)核心課程,對(duì)動(dòng)手能力、實(shí)踐能力、應(yīng)用能力要求較高。傳統(tǒng)的教學(xué)模式已經(jīng)不再適用于該課程的教學(xué)。
Spark大數(shù)據(jù)處理技術(shù)作為數(shù)據(jù)科學(xué)與大數(shù)據(jù)專業(yè)的進(jìn)階課程,需要一定的理論基礎(chǔ)和實(shí)踐基礎(chǔ)。學(xué)生應(yīng)掌握大量相關(guān)的大數(shù)據(jù)基礎(chǔ)知識(shí)以及各種大數(shù)據(jù)軟件的安裝和使用方法,包括Hadoop、HDFS、MapReduce、HBase、Hive 等。除了這些入門級(jí)的大數(shù)據(jù)基礎(chǔ)知識(shí)之外,學(xué)生還需要具備Linux 系統(tǒng)及應(yīng)用課程的相關(guān)知識(shí),熟悉Linux系統(tǒng)的常用操作和命令,深入了解一門編程語(yǔ)言,如Python、Java 等,掌握有關(guān)面向?qū)ο缶幊痰囊恍┗A(chǔ)特性。
其中,有些先修課程是學(xué)生在低年級(jí)所學(xué),重點(diǎn)知識(shí)有所遺忘。如果直接開始Spark 大數(shù)據(jù)處理技術(shù)的學(xué)習(xí),學(xué)生會(huì)出現(xiàn)適應(yīng)性差,接受能力弱的現(xiàn)象。
經(jīng)過(guò)三年的大學(xué)學(xué)習(xí),學(xué)生的水平已經(jīng)慢慢拉開差距。有些積極上進(jìn)的學(xué)生甚至已經(jīng)超前學(xué)習(xí),所具備的大數(shù)據(jù)處理功底已經(jīng)遠(yuǎn)高于班級(jí)的大部分學(xué)生。而有些學(xué)生由于沒有初高中的升學(xué)壓力,加上懶散的學(xué)習(xí)態(tài)度,學(xué)習(xí)積極性和學(xué)習(xí)興趣都有所下降。從而導(dǎo)致了學(xué)生之間的學(xué)習(xí)能力、學(xué)習(xí)水平、大數(shù)據(jù)綜合素養(yǎng)差別較大,如何保證課程難度能適應(yīng)班級(jí)大多數(shù)同學(xué)的情況,保證課程內(nèi)容能夠吸引學(xué)生的注意力和興趣點(diǎn),成為這門課程教學(xué)的首要難題。
Spark大數(shù)據(jù)處理技術(shù)這門課程需要在機(jī)房進(jìn)行實(shí)驗(yàn)課教學(xué)。課程所需軟件環(huán)境眾多,包括但不限于Hadoop、Java、Hive、MySql、Spark等,環(huán)境部署較為麻煩,尤其是搭建Spark環(huán)境的集群模式時(shí),需要同時(shí)開啟三臺(tái)虛擬機(jī)。實(shí)驗(yàn)室機(jī)房電腦配置較低,網(wǎng)絡(luò)傳輸較慢,影響了實(shí)驗(yàn)課的順利進(jìn)行。另外,機(jī)房的電腦一般都設(shè)置了重啟后自動(dòng)恢復(fù)模式,在電腦關(guān)機(jī)后,之前對(duì)電腦的所有更改都不會(huì)保存,導(dǎo)致下次上課時(shí),學(xué)生又要從頭開始。這不利于學(xué)生復(fù)習(xí)學(xué)習(xí)上次保存的案例代碼。這兩方面的原因?qū)е聦W(xué)生無(wú)法適應(yīng)現(xiàn)代企業(yè)的開發(fā)和生產(chǎn)環(huán)境,綜合應(yīng)用能力較差。
教材的編寫一般都需要一個(gè)過(guò)程周期,從教材的撰寫到初稿、定稿、出版、上市需要一定的時(shí)間。而技術(shù)更新?lián)Q代非常快速,計(jì)算機(jī)大數(shù)據(jù)技術(shù)行業(yè)尤其如此。以Spark為例,截止目前Spark 的最新版本是3.2.0。而市面上的大多數(shù)教材都是基于Spark2.*的版本撰寫的。教材目錄章節(jié)設(shè)置有些甚至不符合Spark 的最新架構(gòu)設(shè)計(jì)。以廈門大學(xué)林子雨老師的Spark 大數(shù)據(jù)處理技術(shù)Scala版教材為例,該教材第7章Spark Streaming 講解的是以Spark Streaming 組件為基礎(chǔ)的流計(jì)算,而在Spark 的最新技術(shù)中,Spark啟動(dòng)了一個(gè)基于Spark SQL 的全新流計(jì)算引擎Structured Streaming,目前Structured Streaming已經(jīng)被廣泛使用,而這個(gè)技術(shù)在該教材中并沒有體現(xiàn)[2]。
Spark大數(shù)據(jù)處理技術(shù)課程需要教師有較深厚的理論基礎(chǔ)和豐富的實(shí)戰(zhàn)經(jīng)驗(yàn)。而高校的老師雖然教學(xué)經(jīng)驗(yàn)豐富,但是企業(yè)實(shí)習(xí)經(jīng)歷稍有欠缺,實(shí)踐技能較弱。容易出現(xiàn)照本宣科,脫離生產(chǎn)實(shí)際的現(xiàn)象。甚至,有些實(shí)驗(yàn)內(nèi)容單一,目標(biāo)不明確,操作不具備代表性,從而使得學(xué)生的學(xué)習(xí)效果在一定程度上打了折扣。
此外,Spark 大數(shù)據(jù)處理技術(shù)作為數(shù)據(jù)科學(xué)與大數(shù)據(jù)專業(yè)的進(jìn)階提升課程,難度較大,層次較高。需要授課老師有綜合的大數(shù)據(jù)素養(yǎng),不能僅僅局限于該課程的教學(xué),還需要有其他課程比如數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘、大數(shù)據(jù)可視化的課程基礎(chǔ)。這樣才能達(dá)到大數(shù)據(jù)技術(shù)的融會(huì)貫通,從而更好地為學(xué)生傳道解惑。
目前仍采用“紙質(zhì)化”考核方式,Spark 大數(shù)據(jù)處理技術(shù)這門課程實(shí)踐性較強(qiáng),對(duì)學(xué)生的實(shí)踐編程能力要求較高。而這個(gè)要求并沒有很好地體現(xiàn)在期末紙質(zhì)試卷當(dāng)中。一張紙質(zhì)試卷很難包含一學(xué)期的所學(xué)內(nèi)容,幾道簡(jiǎn)單的名詞解釋題、應(yīng)用題很難檢測(cè)出學(xué)生的真實(shí)水平。
Spark大數(shù)據(jù)處理技術(shù)課程是對(duì)實(shí)操能力、編程能力、問(wèn)題解決能力要求比較高的一門課程,因此不能僅僅重視“做題能力”,這樣學(xué)生很難掌握Spark 的核心技能,從而難以應(yīng)對(duì)將來(lái)工作時(shí)遇到的實(shí)際問(wèn)題。
隨著互聯(lián)網(wǎng)時(shí)代的來(lái)臨,出現(xiàn)了新的教學(xué)模式,比如慕課(MOOCs)和翻轉(zhuǎn)課堂[3]。教師可根據(jù)情況綜合使用傳統(tǒng)授課模式和互聯(lián)網(wǎng)教學(xué)新模式。課前安排學(xué)生預(yù)習(xí)讀教材的同時(shí),教師可以發(fā)布一些課前導(dǎo)學(xué)視頻、數(shù)字材料,供學(xué)生理解新概念、新知識(shí)。在課堂上,教師在講授理論知識(shí)的同時(shí),還可以通過(guò)案例探究、實(shí)驗(yàn)、演示編程等多種形式,引導(dǎo)學(xué)生與教師互動(dòng)從而完成對(duì)知識(shí)的內(nèi)化與吸收。課后,教師在布置作業(yè)的同時(shí),還可以要求學(xué)生開展小組練習(xí),以實(shí)際項(xiàng)目為驅(qū)動(dòng),進(jìn)一步利用網(wǎng)絡(luò)(包括慕課)資源,完成對(duì)知識(shí)的進(jìn)一步消化和應(yīng)用。
基于前文所述在機(jī)房上實(shí)驗(yàn)課的種種不便,可以選擇在云端部署大數(shù)據(jù)平臺(tái)。教師可以在大數(shù)據(jù)平臺(tái)網(wǎng)站上創(chuàng)建相關(guān)課程,并在網(wǎng)站上傳學(xué)習(xí)視頻、課件、案例、實(shí)驗(yàn)大綱等資料。學(xué)生可隨時(shí)隨地自助登陸大數(shù)據(jù)平臺(tái)進(jìn)行學(xué)習(xí)和實(shí)驗(yàn)上機(jī)操作。并且,學(xué)生的作業(yè)也可以通過(guò)大數(shù)據(jù)平臺(tái)進(jìn)行提交,學(xué)生有任何關(guān)于課程的建議,都可以在大數(shù)據(jù)平臺(tái)留言、互動(dòng)、討論。
Spark 大數(shù)據(jù)處理技術(shù)課程對(duì)教師的理論功底、實(shí)踐能力以及大數(shù)據(jù)綜合水平要求較高。為了提升教師的綜合水平,首先,教師可通過(guò)閱讀Spark官方文檔的方式了解Spark的最新技術(shù),架構(gòu)設(shè)計(jì)。其次,教師可以積極參與大數(shù)據(jù)行業(yè)的資格認(rèn)證,在考取證書的同時(shí),提升實(shí)驗(yàn)動(dòng)手能力。此外,教師可以參與各大名校的大數(shù)據(jù)課程教師培訓(xùn)交流班,與來(lái)自全國(guó)范圍內(nèi)的各大高校大數(shù)據(jù)老師交流學(xué)習(xí),共同探討Spark 大數(shù)據(jù)處理課程的教學(xué)模式。
除了以上幾點(diǎn)之外,教師方面還應(yīng)樹立終身學(xué)習(xí)的意識(shí)。在知識(shí)日新月異的大趨勢(shì)下,大數(shù)據(jù)技術(shù)更新迭代速度尤甚。教師除了具備教學(xué)的使命感之外,還應(yīng)具備一定的危機(jī)感,持續(xù)更新、完善自己的大數(shù)據(jù)架構(gòu),包括但不限于本門課程,不僅要及時(shí)了解、掌握大數(shù)據(jù)專業(yè)理論發(fā)展的前沿動(dòng)態(tài),而且要關(guān)注該專業(yè)與其他專業(yè)的融合以及與本專業(yè)密切相關(guān)的實(shí)踐領(lǐng)域發(fā)展的最新動(dòng)態(tài),以形成更堅(jiān)實(shí)、深厚、前沿的知識(shí)積淀,更好地為學(xué)生傳道、授業(yè)、解惑[4]。
課程最終成績(jī)可分為平時(shí)成績(jī)、期末成績(jī)兩部分。其中,期末成績(jī)可以以小型上機(jī)項(xiàng)目的形式考察學(xué)生的問(wèn)題解決能力、動(dòng)手能力和編程能力。平時(shí)成績(jī)可從多個(gè)維度考察學(xué)生的綜合能力,包括但不限于考勤、作業(yè)、課堂表現(xiàn)、實(shí)訓(xùn)報(bào)告、小測(cè)驗(yàn)等[5]。表1是成績(jī)構(gòu)成的一個(gè)示例,供相關(guān)讀者參考:

表1 成績(jī)構(gòu)成
學(xué)生的大數(shù)據(jù)技術(shù)功底、計(jì)算機(jī)功底、學(xué)習(xí)能力參差不齊,應(yīng)定制個(gè)性化的教學(xué)方法,因材施教。在開課之前可以舉行摸底測(cè)試,了解班級(jí)學(xué)生的基礎(chǔ)。根據(jù)學(xué)生的水平有針對(duì)性設(shè)計(jì)教學(xué)大綱和教學(xué)內(nèi)容,不能太難,也不能太簡(jiǎn)單,以期課程難度可以適應(yīng)班級(jí)大多數(shù)學(xué)生的情況。對(duì)于底子較差,學(xué)習(xí)比較吃力的部分同學(xué),可以課下對(duì)其進(jìn)行個(gè)性化的輔導(dǎo)和答疑,鼓勵(lì)這些學(xué)生主動(dòng)學(xué)習(xí)、積極思考、充分利用學(xué)校教師、網(wǎng)絡(luò)視頻、參考書籍等資源,提升學(xué)習(xí)能力和學(xué)習(xí)水平。
在選定好合適教材后,應(yīng)結(jié)合教材的具體內(nèi)容和Spark 生態(tài)系統(tǒng)的最新技術(shù),在清楚講授教材內(nèi)容的同時(shí),應(yīng)對(duì)教材上沒有的新技術(shù)、新組件、新特性進(jìn)行額外地補(bǔ)充和講解。以期讓學(xué)生在學(xué)習(xí)教材經(jīng)典內(nèi)容的同時(shí),還能掌握Spark 的最新技術(shù)、最新特性。在新技術(shù)講授之前,老師應(yīng)對(duì)新技術(shù)做充分學(xué)習(xí)和調(diào)研,對(duì)新技術(shù)的應(yīng)用、實(shí)踐案例做充分準(zhǔn)備。以期做好新技術(shù)補(bǔ)充章節(jié)的教學(xué)大綱、教案、教學(xué)進(jìn)度表等內(nèi)容。值得說(shuō)明的是,在新技術(shù)的講授過(guò)程中,教師應(yīng)同樣重視學(xué)生的動(dòng)手能力、應(yīng)用能力和編程能力的培養(yǎng)。
傳統(tǒng)的課堂教學(xué),是以教師為中心,重理論,輕實(shí)操。Spark大數(shù)據(jù)處理技術(shù)課程是一門實(shí)踐性、應(yīng)用性很強(qiáng)的課程,教師應(yīng)轉(zhuǎn)變自己的教學(xué)觀念,不再充當(dāng)一個(gè)優(yōu)秀的“演講者”,而是發(fā)揮學(xué)生的主體作用、中心作用,教師的引領(lǐng)作用、指導(dǎo)作用,讓學(xué)生不再是簡(jiǎn)單的“聽眾”,提升學(xué)生的學(xué)習(xí)興趣和學(xué)習(xí)積極性,讓學(xué)生充分利用線上線下各種學(xué)習(xí)資源,提升學(xué)生的學(xué)習(xí)效果[6]。
課程設(shè)計(jì)是大學(xué)的綜合性實(shí)踐教學(xué)環(huán)節(jié),一般較具綜合性、應(yīng)用性、實(shí)踐性。Spark 大數(shù)據(jù)處理技術(shù)作為一門實(shí)踐性、應(yīng)用性很強(qiáng)的課程。可在期末的時(shí)候開設(shè)為期一周的課程設(shè)計(jì)。課程設(shè)計(jì)應(yīng)遵循以下原則:以解決實(shí)際問(wèn)題為導(dǎo)向;以提升學(xué)生綜合上機(jī)能力為宗旨。課程設(shè)計(jì)的選題可以包括但不限于下述舉例:天氣分析,零售交易數(shù)據(jù)分析,淘寶用戶行為分析,租房信息分析,地震數(shù)據(jù)分析,旅游景區(qū)數(shù)據(jù)分析,信用卡逾期數(shù)據(jù)分析等。
黨的十八大以來(lái),以習(xí)近平同志為核心的黨中央特別重視高校開展思想政治教育工作[7]。2020年,教育部印發(fā)的《高等學(xué)校課程思政建設(shè)指導(dǎo)綱要》指出:全面推進(jìn)高校課程思政建設(shè)是落實(shí)立德樹人根本任務(wù)的戰(zhàn)略舉措。在高校價(jià)值塑造、知識(shí)傳授、能力培養(yǎng)“三位一體”的人才培養(yǎng)目標(biāo)中,價(jià)值塑造是第一要?jiǎng)?wù)。全面推進(jìn)課程思政建設(shè),就是要寓價(jià)值觀引導(dǎo)于知識(shí)傳授和能力培養(yǎng)之中,幫助學(xué)生塑造正確的世界觀、人生觀、價(jià)值觀。
高校教師在傳授學(xué)生知識(shí)、培養(yǎng)學(xué)生能力的同時(shí),還要承擔(dān)起價(jià)值塑造的責(zé)任。在培養(yǎng)學(xué)生大數(shù)據(jù)技術(shù)的同時(shí),還要幫助學(xué)生樹立正確的三觀,引領(lǐng)學(xué)生努力學(xué)習(xí)科學(xué)文化知識(shí),做一個(gè)愛國(guó)愛黨、為社會(huì)做奉獻(xiàn)的有志好青年。
Spark 大數(shù)據(jù)處理技術(shù)作為一門應(yīng)用性、實(shí)踐性較強(qiáng)的課程,目前的教學(xué)現(xiàn)狀有很多不足。本文通過(guò)對(duì)該課程進(jìn)行探究,從多個(gè)角度分析了教學(xué)改革的重點(diǎn),以期對(duì)該課程的教學(xué)有所啟發(fā)。