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