【摘要】首先對大數據管理和分析能力的人才需求進行了分析,簡要介紹了Hadoop的主要學習框架。然后介紹了Hadoop大數據實驗教學平臺的搭建流程,分析并設計了Hadoop課程的一系列實驗項目。最后介紹了Hadoop實驗室的開放式管理模式的改革方案。
【關鍵詞】Hadoop? 實驗教學? 大數據
【中圖分類號】G64 【文獻標識碼】A 【文章編號】2095-3089(2020)05-0253-02
1.引言
目前,大數據的分析和處理技術有:數據庫的大規模并行處理、可擴展的存儲系統、分布式的文件處理系統、分布式數據庫、數據挖掘、云計算等。具有大數據處理和分析能力的人才需求正在逐年增長,人才需求的職位主要有大數據分析師、大數據系統架構師、大數據系統管理員、大數據平臺開發工程師等。
Hadoop作為一種分布式的大數據軟件開發平臺,主要對大數據進行分布式存儲和快速計算;Hadoop生態系統中的Hive支持SQL使Hadoop吸收了關系型數據庫的優點,便于用戶對數據進行優化管理[1]。因此,為了培養具有大數據管理和分析能力的人才,對Hadoop的實驗教學平臺和課程體系的研究具有重要的意義。
目前國內具備Hadoop等技術的人才稀缺。高校需要著重培養熟練掌握大數據處理和分析能力的人才[2-5]。本文對Hadoop軟件開發平臺的理論教學內容進行了分析,包括Hadoop課程的實驗教學平臺的搭建,Hadoop分析和處理大數據的實驗項目的設計,以此培養學生掌握使用Hadoop大數據軟件開發平臺的方法。為大數據處理和軟件開發相關的后繼課程的學習奠定基礎,培養具有大數據管理和分析能力的人才。
2.Hadoop框架
Hadoop框架實現了Map Reduce的編程范式。還提供了HDFS(分布式文件系統),用以存儲所有計算節點的中間數據。分布式計算框架Map Reduce和HDFS分布式文件系統的設計,使得整個Hadoop框架能夠自動處理各個節點的故障[ 6,7]。
(1)HDFS:整個Hadoop軟件開發平臺的體系結構是通過分布式文件系統來實現對分布式存儲的底層支持,HDFS通過對流式數據的訪問,提供了高吞吐量的應用程序的大數據訪問功能。
(2)Map Reduce:Map對數據集上的相關元素進行程序指定的操作,生成“鍵-值”對形式的中間結果。Reduce在Map計算的中間結果的基礎上,對中間結果中相同“鍵”的所有“值”進行程序設定的規約,得到最終的結果。
(3)HBASE(Hadoop Database):利用Hadoop HDFS作為其文件存儲系統;HBase利用Map Reduce來處理HBase中的海量數據。
3.Hadoop大數據實驗教學平臺搭建
目前,Hadoop課程的實驗教學大多由學生在機房的單個電腦上搭建Hadoop平臺的單機模式和偽分布模式環境,以此模擬分布式環境運行的各個節點,并沒有搭建基于Linux集群的由多個節點構成的完全分布式的Hadoop集群系統。
為了使學生更好地理解Hadoop系統的各個模塊的構成,更加熟練的掌握Hadoop平臺進行數據分析和挖掘算法的研究及優化,用6臺虛擬機搭建了Hadoop實驗教學平臺。6臺虛擬機的物理配置均為:內存64GB,雙核CPU。目前該平臺已用于調試運行基于Hadoop的分布式程序和Hadoop課程的相關實驗教學。該Hadoop大數據虛擬實驗平臺性能穩定、處理速度較快、訪問快捷。
4.Hadoop課程實驗教學體系設計
Hadoop課程是一門實踐性很強的課程,設計一系列的分層實驗教學項目對課程的教學是至關重要的。為了使學生能夠更加深入了解和學習Hadoop,提高實踐能力,本課題設計了一系列的實驗項目,有一定的層次。通過這些Hadoop課程的分層實驗項目的教學,使學生在掌握Hadoop課程的相關理論知識的同時提高了應用此軟件平臺解決實際問題的能力。實驗內容主要有:
(1)Hadoop 集群環境搭建
通過實驗使學生掌握Hadoop軟件開發平臺所需的軟硬件環境,熟練掌握Hadoop課程實驗教學環境的搭建流程,為后面實驗的教學打下理論基礎。通過Hadoop軟件開發平臺和運行環境的搭建,使學生熟悉Hadoop的集群管理方式、熟悉Hadoop平臺和Linux系統中的常用命令。
(2)分布式并行編程
通過實驗使學生更加深入的理解Map Reduce 的并行計算工作原理。并通過幾個具體的并行計算和分布式環境下的應用實例的運行過程來說明Map Reduce程序的基本結構和執行過程,通過實驗使學生理解Map Reduce的并行計算思想、掌握Hadoop軟件開發平臺的分布式文件系統和基本的編程模型。
(3)性能分析
通過幾組不同的實驗,測試不同的Map和Reduce任務數量對Hadoop性能的影響效果。使學生學習如何調整Map和Reduce的參數來提高Hadoop 的性能,對Hadoop 有更加深入的理解。
(4)HBase數據庫編程
通過實驗使學生熟練掌握HBase的相關操作,更加深入的理解數據庫管理的相關知識。通過在HBase中進行插入數據、獲取數據、刪除數據的操作,使學生了解對HBase中表的管理、數據的操作等。并且通過實驗使學生了解如何從Hadoop向HBase進行數據遷移的操作。
5.開放實驗室管理模式
學生通過網絡或者人工方式提交使用虛擬實驗的預約申請表,系統管理員根據實際情況按需分配虛擬實驗的空間賬號;Hadoop開發實驗室在課余、周末開放,需要使用物理實驗室的老師和學生首先要在網上提交申請,獲得審批后就可以使用。學生或教師根據實驗室管理員提供的可用實驗資源和開放時間等信息,填寫將要預約的實驗室資源和使用的起止時間、參與實驗的人數、開展的具體實驗項目名稱等相關信息。開放實驗室的管理人員對實驗室的各種資源進行管理,包括硬件資源、軟件資源、允許開放的時間段、開放座位數、開放周期及實驗項目數等信息。通過對開放實驗室進行預約實驗的方式,部分Hadoop課程的分層實驗項目可以安排在課外由學生獨立完成。學生可以自由選擇在課余時間繼續進行Hadoop的各個仿真實驗,滿足學生獨立學習的需求。這樣不僅提高了實驗資源以及硬件設備的利用率,而且還能調動起學生學習的主動性。為學生參加數學建模競賽、大學生挑戰杯競賽、大學生創新創業訓練計劃等項目提供了良好的學習平臺。
結束語
文中分析了Hadoop在大數據背景下的重要作用。基于Hadoop軟件開放平臺的理論教學內容,詳細說明了Hadoop課程的實驗教學平臺的搭建過程。分析和設計了Hadoop課程的分層實驗教學體系,給出了Hadoop課程的部分分層實驗項目。最后,對Hadoop教學平臺的實驗室的管理模式進行了改革,采用了開放實驗室和預約實驗的方式達到了促進學生自主學習的目的。為后繼課程的學習奠定了基礎。
參考文獻:
[1]林中明,李文敬.基于Hadoop的Web用戶識別與新聞智能推薦算法研究[J].軟件導刊,2016(5):27-29.
[2]唐燕,劉仁權,王蘋,等.基于Hadoop的高校大數據平臺的設計與實現[J].信息技術,2017(12):105-109.
[3]王濤,邵國強,鄒紅,等.“基于Hadoop的大數據分析”課程規劃與設計[J].電腦知識與技術,2015(7):190-192.
[4]胡銳,陳麗春.基于Hadoop的高校微課系統的研究與實現[J].電子技術與軟件工程,2015(24):56-57.
[5]陳偉.基于Hadoop平臺的教育云存儲系統的構建方法[J].中國醫學教育技術,2015(1):29-33.
[6]郝樹魁.Hadoop HDFS和Map Reduce架構淺析[J].郵電設計技術,2012(7):37-42.
[7]翟永東.Hadoop分布式文件系統可靠性的研究與優化[D].武漢:華中科技大學,2011.
作者簡介:
劉芳(1984-),女,四川內江人,內江師范學院講師,碩士。主要研究領域為大數據分析與處理。