王全福
(中山大學南方學院,廣州510970)
隨著高校教育事業的發展,應用型本科高校的改革日益重要。2019 年2 月,教育部發展規劃司在《支持應用型本科高校發展有關工作情況》中說明要做好應用型高校發展的頂層設計,《國家教育事業發展“十三五”規劃》將推動具備條件的普通本科高校向應用型轉變,作為高等教育結構調整的重要舉措,明確提出引導高校從治理結構、專業體系、課程內容、教學方式、師資結構等方面進行全方位、系統性的改革[1]。
為積極貫徹落實國家建設應用型本科高校的戰略,高校新開設《大數據與云計算》專業課程。考慮到理論與實踐的有機結合,理論知識的講授深度、動手實踐的難易程度、前沿知識的科普學習等方面。需要在有限的學期課時內,讓學生深刻理解必要的理論知識,掌握一定的實踐能力,更好達到應用型本科高校的課程建設要求。因此,提出一種改進的教學方法,對教學改革實踐具有十分重要的意義。
專業課程《大數據與云計算》包括兩個方面的內容,一個是大數據,另一個是云計算。
維基百科中大數據的定義:大數據是指利用常用軟件工具捕獲、管理和處理數據所耗時間超過可容忍時間的數據集[2]。大數據的處理模式主要分為先存儲后處理的批處理(Batch Processing)和直接處理的流處理(Stream Processing)兩種[3-4]。同時,大數據包括數據量大(Volume)、多樣(Variety)、快速(Velocity)、價值密度低(Value)、復雜度(Complexity)的4V+1C 特征。
云計算是一種商業計算模型,它將計算任務分布在大量計算機構成的資源池上,使各種應用系統能夠根據需要獲取計算力、存儲空間和信息服務[5]。而在云計算服務的劃分方面,根據美國國家標準與技術研究院(NIST)的定義,當前云計算服務可分為3 個層次,分別是:①基礎設施即服務(IaaS),如Amazon 的彈性計算云(Elastic Compute Cloud,EC2)、IBM 的藍云(Blue Cloud)以及Sun 的云基礎設施平臺(IAAS)等;②平臺即服務(PaaS),如Google 的Google App Engine 與微軟的Azure 平臺等;③軟件即服務(SaaS),如Salesforce 公司的客戶關系管理服務等[6]。
課程內容有許多需要實踐操作的技術知識點,包括大數據中的數據獲取、數據清洗、數據分析、數據解釋、數據可視化等內容。云計算中的Hadoop 基本架構、Spark 基本架構、虛擬化技術、數據中心建設、核心
算法介紹等。在有限的學期課時內全部都掌握并實踐顯然會有較大難度。考慮到學生的自控力,在技術選型和實踐操作中也會遇到困難。同時,學校的配套資源更需要進一步提高。
在大數據與云計算的關系中,大數據可以描繪為待解決的問題,而云計算是解決此問題的方法。如果用x表示大數據,f表示云計算,則求解目標可以表示二者關系。但通過具體教學實踐方式找準切入點,將大數據與云計算技術渾然天成地融合起來,需要教師特定的教學方法、技術儲備以及相關領域的工作背景。
對于大數據方面的教學改進,首先可以從大數據4V+1C 特征進行舉例,例如電商平臺交易業務、鐵路春運售票系統、金屬射流有限元模擬等數據處理。之后引入數據獲取、數據清洗、數據分析等理論知識。最后講授數據可視化的內容。
在實踐操作上需要用到的工具包括Anaconda 軟件與VS Code 軟件,使用Python 語言來編寫數據分析的程序代碼。Anaconda 軟件作為一個開源的Python包管理器,包含Pandas、NumPy、matplotlib 等豐富的科學計算模塊,但其開發界面不太友好。而VS Code 是一個輕量并且強大的跨平臺開源代碼編輯器IDE(Integrated Development Environment),具有豐富的插件生態系統,開發界面友好。將二者配置連接后便可進行數據分析的實踐學習,配置內容如圖1 所示。

圖1 VS Code內配置代碼內容
在數據分析中會涉及到對比性指標、離散程度指標,以及相關性指標等。而在數據可視化方面,需要繪制折線圖、氣泡圖、雷達圖、熱力圖等圖表來清晰有效表達數據信息,如圖2 所示。

圖2 某數據分析師的綜合成績
對于云計算方面的教學改進,首先可以從大型的分布式文件系統GFS(Google File System)舉例介紹客戶端(Client)、主服務器(Master)、數據塊服務器(Chunk Server)等內容。之后引入分布式計算框架MapReduce,包括Map 映射函數操作以及Reduce 歸約函數操作。最后講授分布式文件系統HDFS(Hadoop Distributed File System)以及分布式操作系統Yarn(Yet Another Resource Negotiator)。
在具體的實踐過程中,首先可以使用虛擬機安裝CentOS 7 操作系統,實踐修改主機名、修改IP 地址、關閉防火墻等操作。其次安裝JDK 與Hadoop 并執行必要的文件配置操作。配置HDFS 的namenode 地址和Hadoop 運行時產生文件的目錄,如圖3 所示。最后初始化HDFS,使用HDFS 管理界面,如圖4 所示,以及使用Yarn 管理界面完成一些文件的上傳和下載操作。

圖3 配置Hadoop文件的部分代碼

圖4 HDFS的管理界面
數據的價值會隨著時間的流逝而不斷減少,因此需要盡可能快地對數據做出分析并給出結果。數據分析是整個大數據處理流程的核心,因為大數據的價值產生于分析過程[7]。同時,云計算是大數據平臺的技術支持基礎。通過Anaconda 軟件分析處理后的數據文件可以上傳至HDFS 進行存儲備份。同樣,也可以從HDFS 中下載待分析的數據文件供Anaconda 軟件進行分析處理。以此通過簡單案例實現大數據與云計算的技術融合,提高教學過程中的可操作性,便于學生理解掌握相關理論知識。
理論與實踐相結合,從簡單案例逐步過渡到理論知識,再運用理論知識指導實踐操作。使用改進后的教學方法,由淺入深循序漸進地教學,更能提高學生的學習興趣。經過學生的課后反饋,普遍認為理論課程不再枯燥乏味,課程的技術實踐操作更能提高學生的專注程度。通過分組完成課程設計,在程序實現方面可以運行出相應的正確結果。在課程設計報告中,培養出規范化的書寫能力與較高的團隊合作意識,每位同學在小組內的不同分工,會獲得不同的學習總結感受,進一步提高自身學習能力。畢竟,在大學中培養出學生較好的自學能力會使其終生受益。
在《大數據與云計算》這門課程的教學改革實踐過程中,通過大數據和云計算兩方面理論知識的教學分析與教學實踐,有助于強化學生理解并掌握這門課程的相關知識點。同時,在實際的教學實踐過程中收到良好的反饋效果,符合應用型本科高校的教學改革實踐要求。