李賀 袁航

摘要:近年來隨著各行業(yè)對處理海量數(shù)據(jù)專業(yè)人才的迫切需求,很多高校都陸續(xù)開設(shè)了海量數(shù)據(jù)管理課程。然而大部分的教學研究多數(shù)側(cè)重教學內(nèi)容探討和教學方法及手段的改進,對于實踐教學涉及的不是很多。該課程有很多知識點比較抽象、難以直觀的進行理解,通過相應(yīng)的實驗教學可以幫助學生通過分析和編寫實驗代碼來加深對相關(guān)理論方法的理解。本文針對海量數(shù)據(jù)管理課程提出了一種基于云平臺的實驗教學方案,使學生們可以在真實的大數(shù)據(jù)環(huán)境中進行實驗學習。
1.目前國內(nèi)海量數(shù)據(jù)管理課程實驗現(xiàn)狀與存在的問題
我國非常重視對大數(shù)據(jù)技術(shù)的研究和學習,在很多國內(nèi)頂尖高校海量數(shù)據(jù)管理都已經(jīng)成為計算機科學與技術(shù)專業(yè)的核心專業(yè)課程,但是目前針對海量數(shù)據(jù)管理的實驗設(shè)計方面還缺乏有效可行的成熟方案。由于該課程的特殊性,理論課程的學習只能幫助學生對海量數(shù)據(jù)管理的整體架構(gòu)和算法方面的了解,海量數(shù)據(jù)管理的實驗教學不但可以幫助學生對架構(gòu)和理論的理解還可以促進學生掌握利用海量數(shù)據(jù)管理技術(shù)來解決實際問題的能力。因此,海量數(shù)據(jù)管理實驗是整個教學過程中不可缺少的重要組成部分。
由于海量數(shù)據(jù)管理課程所涉及的內(nèi)容比較廣泛,有一定的理論基礎(chǔ),該課程有很多知識點比較抽象、難以直觀的進行理解,通過相應(yīng)的實驗教學可以幫助學生通過分析和編寫實驗代碼來加深對相關(guān)理論方法的理解,從而進一步加深理解一些特殊的框架結(jié)構(gòu)在計算機解決實際問題中的重要作用,提高學生利用計算機解決問題的能力和軟件開發(fā)的能力。通過海量數(shù)據(jù)管理的實驗教學,教學主體會發(fā)生改變。教師由傳統(tǒng)的課堂教學中的知識講授者變成信息組織者,成為學生學習的引導(dǎo)者;學生的學習由以老師講授為主的被動學習;學生變?yōu)橹鲃拥膶W習;學生成為學習的主體,有助于提高學習積極性和培養(yǎng)創(chuàng)新能力。實驗教學增強課程之間的銜接,有助于學生對課程體系的整體了解與認識,通過相關(guān)實驗設(shè)計再在計算機上加以實現(xiàn),進行反復(fù)調(diào)試,不僅能鞏固學生的理論知識,而且有助于提高學生的動手動腦能力,促進學生對后續(xù)課程的學習。通過面對面的實驗輔導(dǎo),增進了師生之間的認識和理解,縮短了師生間的距離。實驗教學作為一種有效的輔助教學手段,能產(chǎn)生較好的學習效果。將海量數(shù)據(jù)管理實驗教學引人數(shù)學當中,可以激發(fā)學生的學習興趣,調(diào)動學生的學習積極性,更加有利于學生學習這門課程。因此,在海量數(shù)據(jù)管理課程的教學過程中增加實驗環(huán)節(jié)是十分有必要的。
2.基于云平臺的海量數(shù)據(jù)管理課程實驗教學
由于目前擁有的實驗設(shè)備不滿足海量數(shù)據(jù)管理課程的實驗教學需求,開發(fā)一個用于實驗教學的云平臺是有必要的。云平臺將在高性能設(shè)備集群中實現(xiàn),學生通過目前實驗室的設(shè)備連接云平臺進行實驗。本文提出的海量數(shù)據(jù)管理課程的實驗教學云平臺,主要包含一個海量數(shù)據(jù)的數(shù)據(jù)源和一個Hadoop集群。整個實驗過程包括海量數(shù)據(jù)采集,海量數(shù)據(jù)存儲,海量數(shù)據(jù)計算,海量數(shù)據(jù)存儲。實驗的主體在Hadoop集群中完成。
1)海量數(shù)據(jù)采集:海量數(shù)據(jù)的采集工作是海量數(shù)據(jù)管理技術(shù)的第一步,通過學習海量數(shù)據(jù)采集的目標和數(shù)據(jù)預(yù)處理(ETL)技術(shù),掌握數(shù)據(jù)采集的熟悉常見數(shù)據(jù)采集系統(tǒng)的組成,掌握海量數(shù)據(jù)管理中數(shù)據(jù)的來源分類及特征,熟悉各類數(shù)據(jù)源的常用數(shù)據(jù)采集方法。在這個基礎(chǔ)上了解互聯(lián)網(wǎng)數(shù)據(jù)的抓取方法,熟悉常用網(wǎng)絡(luò)爬蟲的實現(xiàn)方法和工具,了解文檔(結(jié)構(gòu)化)數(shù)據(jù)的采集方法。在進行海量數(shù)據(jù)抓去的過程中運用數(shù)據(jù)預(yù)處理技術(shù),這需要學習常用的數(shù)據(jù)預(yù)處理方法和工具。
2)海量數(shù)據(jù)存儲:海量數(shù)據(jù)存儲是海量數(shù)據(jù)管理技術(shù)的核心內(nèi)容,也是整個實驗內(nèi)容中最重要的部分。通過學習數(shù)據(jù)存儲技術(shù)的發(fā)展歷史及各階段的代表性技術(shù)(SAN,NAS等),了解存儲架構(gòu)的演進的趨勢,掌握云數(shù)據(jù)中心的特征、架構(gòu),了解云數(shù)據(jù)中心的部署、管理、容災(zāi)備份及運維。掌握nosql的基本概念、核心思想,通過分析常用nosql系統(tǒng)的特點,總結(jié)nosql與關(guān)系型數(shù)據(jù)庫的區(qū)別,熟悉數(shù)據(jù)存儲中的CAP理論。通過學習Hadoop平臺的架構(gòu)及組成,掌握HDFS的原理及基本指令,能夠熟練配置偽分布式Hadoop和完全分布式的Hadoop。在Hadoop的基礎(chǔ)之上學習Hbase的原理及基本操作指令,能夠在Hadoop的基礎(chǔ)上配置Habase,并根據(jù)Hbase的原理結(jié)合實際問題設(shè)計Hbase數(shù)據(jù)庫。
3)海量數(shù)據(jù)計算:通過學習分布式計算的概念,了解分布式計算和集中式計算的區(qū)別,重點是學習MapReduce編程框架及其工作過程,能夠利用MapReduce的編程方法解決實際應(yīng)用中的海量數(shù)據(jù)計算問題。根據(jù)給定的特定環(huán)境,在Hadoop系統(tǒng)的基礎(chǔ)上設(shè)計并編寫MapReduce程序。
4)海量數(shù)據(jù)檢索:海量數(shù)據(jù)檢索是整個海量數(shù)據(jù)管理系統(tǒng)中提升數(shù)據(jù)查詢效率的關(guān)鍵步驟,數(shù)據(jù)量越大,索引的重要性越能體現(xiàn)出來。通過重點學習Hash法,外存排序方法、B樹、B+樹、R樹、KD樹和倒排索引等索引技術(shù),分析各種索引對于不同的數(shù)據(jù)檢索環(huán)境的效果,能夠利用Hive根據(jù)實際應(yīng)用設(shè)計數(shù)據(jù)倉庫來對海量數(shù)據(jù)進行高效的管理。
結(jié)語
海量數(shù)據(jù)管理課程具有技術(shù)性強、涉及內(nèi)容廣泛和貼近編程等特性,增加實驗教學可以激發(fā)學生的學習興趣,增進對相應(yīng)知識點的理解,能有效提高學生的編程能力,提高課程教學質(zhì)量。本文提出了海量數(shù)據(jù)管理課程的實驗教學云平臺,脫離了普通的實驗環(huán)境,使學生能夠真正體會大數(shù)據(jù)的意義。學生在做實驗的過程中,會從數(shù)據(jù)采集、數(shù)據(jù)存儲、編寫MapReduce程序、調(diào)試和驗證等各個環(huán)節(jié)進行訓(xùn)練。這樣能夠更深刻地理解和牢固地掌握海量數(shù)據(jù)管理的整個體系結(jié)構(gòu),培養(yǎng)學生用編程技術(shù)解決實際問題的能力。由于該課程在全國各個高校都處于剛起步階段,在對實驗教學的研究方面還有大量工作要做,需要制定切實可行的課程實驗教學大綱,研究有效的實驗教學計劃,進一步完善實驗教學的各個環(huán)節(jié),加強整個課程體系的建設(shè),不斷地改進教學模式改革。
作者簡介:李賀(1983年1月-),男,漢族,籍貫:河南,職稱:副教授,學歷:博士,研究方向:數(shù)據(jù)挖掘,單位:西安電子科技大學計算機科學與技術(shù)學院。