張揚武 李國和



[摘 要]面向工程領域中的大數據處理實際需求,培養具備大數據開發和管理能力的人才,是大數據實踐教學題中應有之義。文章針對大數據認知實踐教學中存在的問題,結合理實協同教學理念,提出產教融合的大數據認知實踐教學體系和內容,著力改善大數據認知實踐教學效果,提高大數據應用實踐人才培養質量。
[關鍵詞]大數據;實踐教學;教學改革;教學內容;Hadoop
[中圖分類號]G642[文獻標識碼]A[文章編號]2095-3437(2024)04-0029-04
當前,數據已經成為我們學習、工作和生活中的資源,普通用戶既是數據的生產者,也是數據的消費者。隨著移動互聯網和人工智能的迅猛發展,大數據技術逐漸引起了人們的廣泛興趣,大數據對國家發展也越來越為重要,大數據技術和應用的發展逐步上升到國家戰略地位。從數據、信息、知識到大數據,信息技術不斷地進行了螺旋式迭代發展。近些年,各個行業的業務數據呈現數量級增長,導致對數據處理的要求越來越高,對大數據分析和處理的人才需求也隨之增長。為了適應新時代的國家戰略和人才培養需要,教育部于2015年出臺了大數據專業培養文件和政策。為了響應教育部大數據人才培養目標,很多高校相繼成立了大數據相關專業,以求不斷培養出能夠從事大數據設計、開發和分析工作的人才,以滿足社會對大數據應用人才的需求。
面向工程領域中的大數據處理實際需求,培養目標明確提出,大數據專業人才應該具備基礎的知識和應用能力,重點培養學生運用大數據技術進行工程創新的能力,著力解決科技產業涌現的新問題。大數據科學實際上是多門學科融合的專業,其學生既需要掌握計算機科學基礎理論,又要熟悉數學統計方法,還要精通程序開發的工程知識,涉及學科領域廣泛,技術發展更新快。目前,一些高校的大數據專業人才培養中學生理論知識的學習局限于計算機基本知識、概念和方法原理,實踐教學目前還不成熟,處于探索階段。要讓學生掌握大數據存儲、計算和分析方法,培養學生運用大數據技術解決工程問題的創新思維和創新能力,實踐教學至關重要。因此,研究和探索大數據專業實踐教學具有非常重要的作用和意義。
一、大數據認知實踐的教學現狀及存在問題
目前大數據專業培養方案將Hadoop開發技術作為專業的核心主干課,這是符合實際行業需求的。雖然專業的正式名稱為數據科學與大數據技術,但是培養目標為滿足行業對大數據應用人才的需求。從課程體系上來說,既要有能夠培養學生運用數理知識、專業知識和工程知識解決復雜工程問題能力的課程組,又要有能夠培養學生運用軟件開發技術、數據分析方法和工程實踐知識構建大數據應用系統能力的課程組。數理知識課程包括概率論、數理統計、線性代數、高等數學等,專業知識課程包括操作系統原理、數據庫原理、計算機系統原理、數據結構和算法、大數據技術原理等,軟件開發技術課程包括軟件工程、Java程序設計、C語言程序設計、Python程序語言設計等,數據分析方法課程包括數據統計和分析、數據科學、機器學習、自然語言處理等,工程實踐課程包括大數據認知實踐、大數據工程實踐等。
大數據認知實踐在理論學習的基礎上,在校內開展實踐教學,雖然不是真實數據生產場景,但是盡最大可能模擬數據生產環境。傳統的實踐教學受限于教學手段和教學方法,不能最大化展現實際應用場景,僅僅作為理論知識的有限拓展,難以實現行業和企業對學生的應用能力的培養要求。傳統的實踐教學涉及的數據采集、平臺搭建和模型算法選擇都較為單一,缺乏靈活性,理論知識和實踐內容脫節,理論知識不能有效支持實踐內容,實踐內容也不能鞏固理論知識。傳統的實踐教學不能滿足大數據認知實踐對資源的開銷,大數據分布式存儲和計算框架需要服務器集群,并發訪問數據量大。大數據實踐教學不僅對主機的計算資源和存儲資源有著較高的要求,而且涉及的配置細節非常煩瑣,需要學生不斷地加強練習,這對實驗室的硬件環境和開放時間的要求都要高于傳統的實踐教學。此外,傳統的實踐教學手段較為單一,很多情況下就是灌輸一些步驟,先理論后實踐,不能有效激發學生主動學習和創新的熱情。
二、大數據認知實踐教學改革
(一)大數據認知實踐教學內容體系
根據OBE(Outcome?Based Education)教育理念,大數據認知實踐應該以學生的學習產出為導向,以行業應用需求為出發點和落腳點,推進學練用大數據認知實踐教學改革,強化課程創新,促進教學優化。大數據認知實踐教學應該立足社會需求,緊跟時代發展脈搏,抓住大數據應用場景,結合多學科深度融合交叉,根據行業大數據需求特點,進行全方位教育教學改革探索。
面向各個行業的基本數據生產,需要培養大數據分布存儲系統的研發人才;面向企業業務提升,需要培養大數據分布計算系統的開發人才;面向機構管理決策,需要培養大數據處理分析復合型人才。以需求為導向,目前行業中的大數據存儲大多數采用的是HDFS分布式存儲系統,大數據計算系統采用的是MapReduce,而流式實時分析和處理框架則是采用Spark。因此,大數據認知實踐教學實際上是圍繞Hadoop生態圈開展的。
[數據庫結構化數據 ][文件日志半結構化數據 ][任務調度、業務應用和數據可視化 ][Spark Streaming ][Hive數據查詢 ][Spark SQL ][MapReduce離線計算 ][YARN資源管理 ][HDFS分布式存儲 ][HBASE非關系型數據庫 ][Spark內存計算 ]
圖1 Hadoop生態圈
Hadoop是Apache基金會支持的開源大數據存儲與計算框架,受到業界的廣泛認可和青睞。搜索引擎使用Hadoop平臺進行廣告點擊分析,電商網站利用Hadoop進行高可用數據存儲和分析,Hadoop平臺不僅包含大數據處理功能,還包括自然語言處理、機器學習以及云計算方面功能。
(二)大數據認知實踐教學要求和環境
在開展大數據認知實踐教學之前,需要強調學生應該掌握的前置課程和知識儲備。Hadoop底層實現源碼是用Java語言編寫的,因此,學生需要提前掌握Java程序設計語言以及面向對象的程序設計思想。Hadoop部署在Linux操作系統上,學生需要掌握操作系統知識和Linux操作方法。Hadoop分布式存儲涉及數據查詢和持久化,因此,學生需要掌握數據庫原理知識和SQL查詢語句。Hadoop分布式計算可以通過編程實現對數據的查詢和聚合,因此,學生需要掌握Java平臺上的集成開發環境IDE(Integrated Development Environment)。
目前大數據實踐教學環境可以分為自己搭建環境和第三方實訓平臺,兩者各有優缺點。自己搭建環境的優勢就是學生可以全程參與大數據服務器的部署和開發,可以比較廣泛和深入地掌握大數據認知實踐知識,其不足之處就是需要進行相關軟件安裝和組件配置的教學,比較煩瑣。采用第三方實訓平臺的優勢就是可以通過云服務器和web控制臺方式進行一鍵部署,提交代碼和運行代碼的操作簡單,其不足之處就是第三方平臺使用的容器包裝了很多實現細節,不利于學生對大數據認知實踐知識的掌握。因此,在實驗室有較高配置資源的情況下,推薦使用自搭實驗環境。
Hadoop可以分為偽分布式部署和完全分布式部署。Hadoop偽分布式部署利用線程模擬master主節點和slave從節點,而Hadoop完全分布式部署利用獨立主機(包括物理上和邏輯上的獨立主機)來分配主從節點。Hadoop偽分布式部署一般用于數據量和計算開銷都不大的場景,也用于對大數據技術進行學習的場景。
Hadoop偽分布式部署需要一臺安裝Linux操作系統的主機,一般實驗室的操作系統是支持應用較多的Windows系統,因此,需要安裝VMware Station,在VMware虛擬機中安裝Linux系統。另外,還需要在Windows中安裝一個可以操作Linux系統的客戶端軟件,例如Xshell,便于后續操作,將Hadoop安裝包上傳到Linux系統中以及對Hadoop進行配置操作。
Hadoop完全分布式部署包括物理上獨立主機和邏輯上獨立主機。物理上獨立主機的完全分布式部署需要采用分組實踐,例如3人一組,將其中一臺主機作為master節點,三臺主機都作為slave節點。邏輯上獨立主機的完全分布式部署需要在Windows系統中安裝VMware Station和Xshell,在VMware虛擬機中安裝3個或者多個Linux系統。Hadoop偽分布式部署和完全分布式部署配置見表1。
(三)大數據認知實踐教學內容
大數據認知實踐應該圍繞教學目標展開,概括來說,教學目標包括掌握大數據存儲技術和大數據計算技術。傳統的軟件工程是將存儲和計算分離,數據存儲在磁盤上,計算時再讀到內存,多次磁盤I/O操作將極大降低計算效率,并且隨著數據量增加,磁盤存儲和內存計算資源只能縱向擴展,不能橫向擴展,這種情況顯然不能滿足大數據的業務需求。為了解決傳統工程中存儲和計算脫節、無法提供高可用服務的問題,Hadoop通過提供分布式存儲系統HDFS、分布式計算框架MapReduce、非關系型數據庫Hbase、數據倉庫Hive以及內存計算框架Spark等,提供并發處理低延遲的高可用服務。
HDFS是大數據分布式存儲系統,通過數據塊冗余分布式存儲提供高可用訪問,分布式存儲的橫向擴展是通過增加機器數量來實現的,既可以突破縱向擴展的瓶頸限制,又可以利用高帶寬訪問,還可以提供多個冗余副本存儲。HDFS在master節點即NameNode上管理整個分布式文件系統的元數據信息,包括文件名、文件大小、文件塊數、塊ID以及塊存儲位置。HDFS在slave節點即DataNode上存儲擁有多個備份數據塊的數據文件。為了防止master節點宕機出現的單點故障,還需要準備一個備份節點即SecondNameNode。同時,master節點通過RPC(Remote Procedure Call)心跳機制檢測各個DataNode的工作狀態。HDFS分布式存儲系統的實踐教學應包含HDFS文件系統的安裝和配置、HDFS文件系統的目錄文件操作命令、用API訪問HDFS文件系統的編程方法等(見表2)。
MapReduce是基于HDFS的大數據分布式計算框架或者編程模型,為程序員提供面向業務的編程服務,而不需要考慮分布式計算中出現的諸如任務調度、分配、文件切片等各種具體問題,簡化了處理事務,提高了編程工作效率。 MapReduce編程分為Mapper和Reducer兩個階段,前者是映射階段,將讀取的數據映射為key?value類型的迭代器,后者為聚合階段,將迭代器中的相同的key做聚合,進行統計分析。完成Mapper和Reducer之后,編寫驅動類Driver的入口函數。然后,將代碼導出為jar包,提交到master節點上運行。MapReduce分布式計算框架的實踐教學內容見表3。
Hbase是面向列的開源數據塊,與傳統的關系型數據庫不同,其同一列的數值類型一樣,將同一列連續存儲更加符合客觀規律。非關系型數據庫Hbase的實踐教學內容見表4。
Hive是基于Hadoop的數據倉庫工具,可以將結構化數據映射為一個表,在此基礎上提供類SPL的查詢語句,其實現的原理是將查詢語句映射為MapReduce任務。Hive可以處理不同來源的數據,包括數據庫、文件和網絡日志等。數據倉庫工具Hive的實踐教學內容見表5。
Spark是集實時流處理和交互查詢為一體的內存計算框架,通過彈性分布式數據集RDD(Resilient Distributed Datasets)實現高容錯性的內存抽象彈性機制。對RDD的操作有轉換操作和執行操作,轉換操作是窄依賴,并沒有在內存中真正執行,由此可以進行優化操作,只有在執行操作對應的寬依賴的操作被處理時,數據才被溢寫到磁盤上,數據的恢復完全可以通過依賴關系進行。實時流處理Spark的實踐教學內容見表6。
三、結束語
為了提高大數據相關專業培養人才效果,開展大數據認識實踐教學非常重要,不僅可以強化學生對大數據科學系統知識的理解和掌握,而且可以更加契合市場需求,向社會輸出更加合格的人才。針對目前大數據實踐教學中存在的問題,結合大數據專業培養目標和方案,本文提出了理實協同、多層次的大數據認知實踐課程教學體系和內容,從生產應用場景探索大數據認知實踐教學改革思路。
[ 參 考 文 獻 ]
[1] 張俊麗,姚香秀,程茜,等. 基于OBE 理念的數據科學與大數據技術人才培養創新研究與實踐[J]. 大學教育, 2022(4):185-187.
[2] 周晴紅. Hadoop大數據開發技術課程實踐教學[J]. 辦公自動化,2021,26(20):20-22.
[3] 曾曉云.大數據人才培養的實踐教學體系研究[J].湖南郵電職業技術學院學報,2022,21(1):84-86.
[4] 李方東.數據科學與大數據技術專業實驗實踐教學探析[J].長春大學學報,2021,31(2):88-91.
[5] 梁晶,胡新榮. Hadoop 大數據開發課程實踐教學研究[J].計算機教育,2020(2):166-169.
[6] 劉伯紅,吳思遠,閻英,等.校企合作下大數據人才培養實踐教學模式研究[J].軟件導刊,2023,22(6):196-200.
[7] 孫開偉,鄧欣,王進. 新工科背景下數據科學與大數據技術專業實踐教學體系研究[J].高教學刊,2023,9(14):5-8.
[8] 石兵,熊盛武,饒文碧,等. 數據科學與大數據技術專業建設研究與實踐[J].計算機教育,2021(4):88-92.
[9] 夏官夢,王健.新工科背景下計算機類人才培養的探索與實踐[J].教育現代化,2020,7(48):26-29.
[責任編輯:雷 艷]