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

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