林子雨
廈門(mén)大學(xué)信息科學(xué)與技術(shù)學(xué)院, 福建 廈門(mén) 361005
大數(shù)據(jù)帶來(lái)了信息技術(shù)的巨大變革,對(duì)社會(huì)生產(chǎn)和人們生活的各個(gè)領(lǐng)域都產(chǎn)生著深刻的影響[1-4],所到之處,或是顛覆,或是提升,讓人們深切感受到了大數(shù)據(jù)實(shí)實(shí)在在的威力。對(duì)于一個(gè)國(guó)家而言,能否緊緊抓住大數(shù)據(jù)發(fā)展機(jī)遇,快速形成核心技術(shù)和應(yīng)用并參與新一輪的全球化競(jìng)爭(zhēng),將直接決定未來(lái)若干年世界范圍內(nèi)各國(guó)科技力量博弈的格局。大數(shù)據(jù)專業(yè)人才的培養(yǎng)是新一輪科技較量的基礎(chǔ),高等院校承擔(dān)著大數(shù)據(jù)人才培養(yǎng)的重任,因此,各高等院校非常重視大數(shù)據(jù)課程的開(kāi)設(shè),大數(shù)據(jù)課程已經(jīng)成為信息相關(guān)專業(yè)的重要核心課程。北京大學(xué)、廈門(mén)大學(xué)、中國(guó)人民大學(xué)等一批高校在國(guó)內(nèi)率先開(kāi)設(shè)大數(shù)據(jù)課程。2016年,北京大學(xué)、中南大學(xué)、對(duì)外經(jīng)貿(mào)大學(xué)3所高校成為國(guó)內(nèi)首批獲得教育部批準(zhǔn)設(shè)立“數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)”專業(yè)的本科院校,此后,教育部又于2017年和2018年分別批準(zhǔn)32所和248所本科院校設(shè)立數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)專業(yè)。與此同時(shí),根據(jù)教育部公布的“大數(shù)據(jù)技術(shù)與應(yīng)用”專業(yè)備案和審批結(jié)果顯示,截至目前,已經(jīng)有累計(jì)208所職業(yè)院校獲批“大數(shù)據(jù)技術(shù)與應(yīng)用”專業(yè)。“數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)”專業(yè)和“大數(shù)據(jù)技術(shù)與應(yīng)用”專業(yè)一般被統(tǒng)稱為“大數(shù)據(jù)專業(yè)”。隨著大數(shù)據(jù)專業(yè)在國(guó)內(nèi)眾多高校中開(kāi)設(shè),大數(shù)據(jù)專業(yè)人才的培養(yǎng)邁入了全新的階段。
大數(shù)據(jù)專業(yè)作為典型的“新工科”專業(yè),在課程體系建設(shè)方面還處于摸索階段[5],沒(méi)有太多可供借鑒的現(xiàn)成經(jīng)驗(yàn),需要一大批熱愛(ài)教學(xué)的高校教師積極投身課程體系和教材的建設(shè)工作中,共同推動(dòng)全國(guó)高校大數(shù)據(jù)教學(xué)工作不斷向前發(fā)展。廈門(mén)大學(xué)數(shù)據(jù)庫(kù)實(shí)驗(yàn)室作為國(guó)內(nèi)高校較早從事大數(shù)據(jù)教學(xué)資源建設(shè)的團(tuán)隊(duì),從2013年開(kāi)始,在大數(shù)據(jù)課程建設(shè)方面開(kāi)展了很多有意義的嘗試和探索,本文將分享筆者團(tuán)隊(duì)在這些方面的工作成果和經(jīng)驗(yàn)做法。
大數(shù)據(jù)專業(yè)課程涵蓋范圍較廣,從學(xué)科角度而言,包括了數(shù)學(xué)(高等數(shù)學(xué)、線性代數(shù)、離散數(shù)學(xué)、數(shù)學(xué)建模等)、計(jì)算機(jī)(算法、數(shù)據(jù)結(jié)構(gòu)、程序設(shè)計(jì)、數(shù)據(jù)庫(kù)、操作系統(tǒng)、數(shù)據(jù)挖掘等)、統(tǒng)計(jì)(概率論與數(shù)理統(tǒng)計(jì)、多元統(tǒng)計(jì)分析等)等多學(xué)科知識(shí)。從數(shù)據(jù)分析流程角度而言,大數(shù)據(jù)專業(yè)課程包含了數(shù)據(jù)分析全流程的各種技術(shù),包括數(shù)據(jù)采集、數(shù)據(jù)存儲(chǔ)與管理、數(shù)據(jù)處理與分析、數(shù)據(jù)可視化等各個(gè)環(huán)節(jié)的技術(shù)。
本文探討的大數(shù)據(jù)課程是指數(shù)據(jù)分析全流程涉及的大數(shù)據(jù)技術(shù)類(lèi)課程。需要強(qiáng)調(diào)指出的是,在這些大數(shù)據(jù)技術(shù)類(lèi)課程中,并非所有課程都是大數(shù)據(jù)時(shí)代新生的課程,比如,數(shù)據(jù)采集課程主要講解網(wǎng)絡(luò)爬蟲(chóng)技術(shù),這些技術(shù)在大數(shù)據(jù)時(shí)代到來(lái)之前就已經(jīng)存在很多年了,并非到了大數(shù)據(jù)時(shí)代才誕生。同理,數(shù)據(jù)可視化也是經(jīng)歷了多年發(fā)展的“老課程”,知識(shí)內(nèi)容并沒(méi)有因?yàn)榇髷?shù)據(jù)的出現(xiàn)而發(fā)生本質(zhì)的變化。實(shí)際上,大數(shù)據(jù)技術(shù)之所以受到熱捧,主要在于以Hadoop和Spark為代表的分布式框架解決了以較低的成本實(shí)現(xiàn)海量數(shù)據(jù)的存儲(chǔ)和計(jì)算的問(wèn)題。因此,本文探討的大數(shù)據(jù)課程主要聚焦分布式存儲(chǔ)和分布式處理這兩個(gè)層面的大數(shù)據(jù)技術(shù),這也是大數(shù)據(jù)課程區(qū)別于傳統(tǒng)的計(jì)算機(jī)專業(yè)課程的一個(gè)重要方面。
經(jīng)過(guò)上述聚焦以后,大數(shù)據(jù)課程建設(shè)的難點(diǎn)主要表現(xiàn)在以下幾個(gè)方面。
(1)缺少大數(shù)據(jù)課程體系
雖然本文把大數(shù)據(jù)課程聚焦到分布式存儲(chǔ)和分布式處理這兩個(gè)層面的大數(shù)據(jù)技術(shù),但是,依然涵蓋了大量新的知識(shí)內(nèi)容。大數(shù)據(jù)技術(shù)體系非常龐雜,在分布式存儲(chǔ)層面,涉及NoSQL數(shù)據(jù)庫(kù)、分布式文件系統(tǒng)等內(nèi)容;在分布式計(jì)算層面,涉及批處理、流計(jì)算和圖計(jì)算等內(nèi)容。如果要深入學(xué)習(xí),每種技術(shù)都可以成為一門(mén)獨(dú)立的課程。因此,如何系統(tǒng)歸納整理相關(guān)大數(shù)據(jù)技術(shù),并且按照高校教學(xué)計(jì)劃循序漸進(jìn)地展開(kāi),是一個(gè)棘手的問(wèn)題。此外,如何做好不同課程之間的知識(shí)布局,也具有較高的難度。因?yàn)樵谡n程體系的建設(shè)上,需要做到課程與課程之間的“知識(shí)分割不重復(fù)”和“知識(shí)傳承不斷層”,讓教師教課有綱可循,讓學(xué)生學(xué)習(xí)脈絡(luò)清晰。
(2)缺少大數(shù)據(jù)課程教材
一門(mén)課程的順利開(kāi)設(shè),離不開(kāi)高質(zhì)量的教材。作為新興的專業(yè),教材缺乏是一個(gè)正常的現(xiàn)象,也是必須面對(duì)和解決的問(wèn)題。市場(chǎng)上已有的很多大數(shù)據(jù)書(shū)籍[6-11]屬于工具類(lèi)數(shù)據(jù),不適合作為高校教材。
(3)缺少大數(shù)據(jù)教學(xué)資源
教材只能滿足開(kāi)課的基本需求,如果要獲得較好的教學(xué)效果,就必須建設(shè)大量配套的教學(xué)資源,比如PPT、MOOC、實(shí)驗(yàn)手冊(cè)等,而在專業(yè)建設(shè)的初始時(shí)期,這些資源都是相對(duì)比較欠缺的。
(4)缺少大數(shù)據(jù)課程師資
一門(mén)課程開(kāi)設(shè)質(zhì)量的高低取決于師資水平。若要教出合格的學(xué)生,就必須要求教師具備一定的大數(shù)據(jù)知識(shí)儲(chǔ)備和編程實(shí)踐能力。大數(shù)據(jù)課程需要教師具備大數(shù)據(jù)實(shí)驗(yàn)環(huán)境構(gòu)建能力,掌握系統(tǒng)的大數(shù)據(jù)知識(shí),具備開(kāi)展編程實(shí)踐的能力。而對(duì)于承擔(dān)計(jì)算機(jī)類(lèi)課程教學(xué)任務(wù)的很多教師而言,如果沒(méi)有系統(tǒng)學(xué)習(xí)大數(shù)據(jù)知識(shí),顯然不具備這方面的能力。
(5)大數(shù)據(jù)環(huán)境搭建復(fù)雜
大數(shù)據(jù)實(shí)驗(yàn)環(huán)境的搭建涉及Linux系統(tǒng)、虛擬機(jī)軟件、JDK、Hadoop、Spark、HBase、Hive等多種開(kāi)源軟件的安裝,安裝過(guò)程涉及大量配置,需要具有一定的計(jì)算機(jī)操作功底,才能夠順利完成實(shí)驗(yàn)環(huán)境的搭建。而且有時(shí)候同樣的操作方法,在某臺(tái)計(jì)算機(jī)上可以成功,在另一臺(tái)計(jì)算機(jī)上卻會(huì)失敗。這些給任課教師和學(xué)生帶來(lái)了很大的挑戰(zhàn)。
(6)大數(shù)據(jù)學(xué)習(xí)門(mén)檻高
大數(shù)據(jù)知識(shí)體系的龐雜、大數(shù)據(jù)實(shí)驗(yàn)環(huán)境搭建的復(fù)雜性以及分布式編程的新知識(shí)都會(huì)成為大數(shù)據(jù)學(xué)習(xí)者很難跨越的“門(mén)檻”。如何有效降低大數(shù)據(jù)學(xué)習(xí)門(mén)檻,提高學(xué)習(xí)效率和效果,是開(kāi)設(shè)大數(shù)據(jù)課程必須要解決的難題。
(7)不同高校的差異化需求給教材建設(shè)帶來(lái)了挑戰(zhàn)
重點(diǎn)本科院校、普通本科院校和高職院校對(duì)人才培養(yǎng)的目標(biāo)和方向都不盡相同,這種差異會(huì)在課程內(nèi)容方面得到體現(xiàn)。因此,有些高校會(huì)更加側(cè)重理論知識(shí)的講解,而有些高校則會(huì)更注重學(xué)生技術(shù)應(yīng)用能力的培養(yǎng)。這就要求課程教材和課程內(nèi)容在知識(shí)點(diǎn)的布局和課時(shí)安排方面有不同的側(cè)重點(diǎn)。如何根據(jù)現(xiàn)有的教材進(jìn)行教學(xué)內(nèi)容的個(gè)性化定制,是實(shí)際教學(xué)環(huán)節(jié)普遍遭遇的難題。
從2013年開(kāi)始,經(jīng)過(guò)為期5年的建設(shè),廈門(mén)大學(xué)已經(jīng)建成了涵蓋入門(mén)課程、進(jìn)階課程和實(shí)訓(xùn)課程在內(nèi)的大數(shù)據(jù)課程體系(如圖1所示),已經(jīng)可以提供包括教材、講義PPT、習(xí)題、案例、視頻、師資培訓(xùn)等全方位的大數(shù)據(jù)課程服務(wù)。
圖1 廈門(mén)大學(xué)建設(shè)的大數(shù)據(jù)課程體系
在大數(shù)據(jù)專業(yè)課程體系中,數(shù)學(xué)、編程、算法、數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、數(shù)據(jù)庫(kù)、數(shù)據(jù)挖掘等課程屬于歷史已有課程,已經(jīng)存在大量教材和配套資源,而分布式存儲(chǔ)和計(jì)算框架則屬于進(jìn)入大數(shù)據(jù)時(shí)代以后的較新的課程,相關(guān)教學(xué)資源較為缺乏,因此,筆者單位選擇大數(shù)據(jù)課程作為教學(xué)資源建設(shè)重點(diǎn),投入大量人力、物力、財(cái)力,建設(shè)了全套的大數(shù)據(jù)課程資源。其中,“大數(shù)據(jù)技術(shù)原理與應(yīng)用”屬于大數(shù)據(jù)導(dǎo)論課程,旨在引導(dǎo)學(xué)生進(jìn)入大數(shù)據(jù)世界,由單機(jī)環(huán)境進(jìn)入分布式環(huán)境,面對(duì)和處理大數(shù)據(jù)問(wèn)題[12-13]?!癝park編程基礎(chǔ)”屬于進(jìn)階級(jí)大數(shù)據(jù)課程,旨在幫助學(xué)生系統(tǒng)掌握當(dāng)前流行的分布式并行編程框架Spark的編程方法[14]?!按髷?shù)據(jù)實(shí)訓(xùn)”課程旨在滿足高校開(kāi)設(shè)綜合實(shí)訓(xùn)課程的教學(xué)需求,案例涵蓋數(shù)據(jù)預(yù)處理、存儲(chǔ)、處理、分析、可視化等數(shù)據(jù)處理全流程涉及的各種典型操作和大數(shù)據(jù)軟件,可以全面訓(xùn)練學(xué)生的大數(shù)據(jù)分析全流程的能力。
“大數(shù)據(jù)技術(shù)原理與應(yīng)用”課程是廈門(mén)大學(xué)數(shù)據(jù)庫(kù)實(shí)驗(yàn)室建設(shè)的較為成熟的大數(shù)據(jù)課程,不僅在廈門(mén)大學(xué)受到學(xué)生的歡迎,而且已經(jīng)推廣到了國(guó)內(nèi)很多高校。因此,本節(jié)內(nèi)容將介紹這門(mén)課程的建設(shè)情況,包括課程定位、培養(yǎng)目標(biāo)、預(yù)備知識(shí)、大數(shù)據(jù)與云計(jì)算課程之間的知識(shí)切割、課程內(nèi)容與學(xué)時(shí)安排、課程教材、實(shí)驗(yàn)環(huán)境搭建、配套資源建設(shè)、在線服務(wù)平臺(tái)、線下培訓(xùn)與交流等。
該課程定位為入門(mén)級(jí)大數(shù)據(jù)技術(shù)課程,為學(xué)生搭建起通向“大數(shù)據(jù)知識(shí)空間”的橋梁和紐帶。課程系統(tǒng)地梳理總結(jié)大數(shù)據(jù)相關(guān)技術(shù),介紹大數(shù)據(jù)技術(shù)的基本原理和大數(shù)據(jù)主要應(yīng)用,幫助學(xué)生形成對(duì)大數(shù)據(jù)知識(shí)體系及其應(yīng)用領(lǐng)域的輪廓性認(rèn)識(shí),為學(xué)生在大數(shù)據(jù)領(lǐng)域“深耕細(xì)作”奠定基礎(chǔ)、指明方向。在本課程學(xué)習(xí)的基礎(chǔ)上,感興趣的學(xué)生還可以通過(guò)其他工具書(shū)(如《Hadoop權(quán)威指南》等)繼續(xù)深入學(xué)習(xí)和實(shí)踐大數(shù)據(jù)相關(guān)技術(shù)。
“大數(shù)據(jù)技術(shù)原理與應(yīng)用”課程的預(yù)期目標(biāo)如下。
● 能夠建立對(duì)大數(shù)據(jù)知識(shí)體系的輪廓性認(rèn)識(shí),了解大數(shù)據(jù)發(fā)展歷程、基本概念、主要影響、應(yīng)用領(lǐng)域、關(guān)鍵技術(shù)、計(jì)算模式和產(chǎn)業(yè)發(fā)展,了解云計(jì)算、物聯(lián)網(wǎng)的概念及其與大數(shù)據(jù)之間的緊密關(guān)系。
● 能夠了解Hadoop的發(fā)展歷史、重要特性、應(yīng)用現(xiàn)狀、Hadoop項(xiàng)目結(jié)構(gòu)及其各個(gè)組件,并熟練掌握Hadoop平臺(tái)的安裝和使用方法。
● 能夠了解分布式文件系統(tǒng)的基本概念、結(jié)構(gòu)和設(shè)計(jì)需求,掌握Hadoop分布式文件系統(tǒng)(HDFS)的重要概念、體系結(jié)構(gòu)、存儲(chǔ)原理和讀寫(xiě)過(guò)程,熟練掌握HDFS的使用方法。
● 能夠了解分布式數(shù)據(jù)庫(kù)HBase的訪問(wèn)接口、數(shù)據(jù)模型、實(shí)現(xiàn)原理和運(yùn)行機(jī)制,并熟練掌握HBase的使用方法。
● 能夠了解NoSQL數(shù)據(jù)庫(kù)與傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)的差異、NoSQL數(shù)據(jù)庫(kù)的四大類(lèi)型以及NoSQL數(shù)據(jù)庫(kù)的三大基石;基本掌握Redis、MongoDB等NoSQL數(shù)據(jù)庫(kù)的使用方法。
● 能夠了解云數(shù)據(jù)庫(kù)的概念、基本原理和代表性產(chǎn)品的使用方法。
● 能夠熟練掌握分布式編程框架MapReduce的基本原理和編程方法。
● 能夠了解大數(shù)據(jù)處理架構(gòu)Spark的基本原理和編程方法。
● 能夠了解大數(shù)據(jù)在互聯(lián)網(wǎng)等領(lǐng)域的典型應(yīng)用。
“大數(shù)據(jù)技術(shù)原理與應(yīng)用”屬于大數(shù)據(jù)導(dǎo)論課程,引導(dǎo)學(xué)生進(jìn)入大數(shù)據(jù)世界。因此,在學(xué)習(xí)該課程之前,需要學(xué)生已經(jīng)學(xué)習(xí)過(guò)算法、數(shù)據(jù)結(jié)構(gòu)、程序設(shè)計(jì)、數(shù)據(jù)庫(kù)、操作系統(tǒng)等計(jì)算機(jī)類(lèi)課程。
目前,很多高校已經(jīng)開(kāi)設(shè)了大數(shù)據(jù)課程和云計(jì)算課程。由于大數(shù)據(jù)課程與云計(jì)算課程有著千絲萬(wàn)縷的聯(lián)系,因此,如果不能對(duì)這兩門(mén)課程的知識(shí)點(diǎn)進(jìn)行合理切割,就會(huì)給實(shí)際教學(xué)環(huán)節(jié)造成很大的困擾,不僅會(huì)影響教師的教學(xué),也會(huì)導(dǎo)致學(xué)生的重復(fù)學(xué)習(xí)。
云計(jì)算和大數(shù)據(jù)二者具有深厚的淵源。云計(jì)算的普及早于大數(shù)據(jù),2006年亞馬遜公司就推出了云計(jì)算產(chǎn)品Amazon AWS,而大數(shù)據(jù)概念被大眾所熟知是在2010年左右。在大數(shù)據(jù)概念被廣泛使用之前,以Hadoop為代表的大數(shù)據(jù)技術(shù)都被列為云計(jì)算技術(shù),因此2010年之前出版的許多云計(jì)算教材[15]通常有大量的篇幅介紹Hadoop等大數(shù)據(jù)技術(shù),這類(lèi)教材可以被稱為復(fù)合型云計(jì)算教材。但是,2010年以后,以Hadoop為代表的分布式存儲(chǔ)技術(shù)和分布式處理技術(shù)都被單獨(dú)剝離出來(lái),成為大數(shù)據(jù)技術(shù)。從這個(gè)角度來(lái)說(shuō),可以認(rèn)為云計(jì)算為大數(shù)據(jù)提供了技術(shù)支撐?,F(xiàn)在大家談到云計(jì)算,主要是指為人類(lèi)提供IT資源的一種全新商業(yè)模式及其背后涉及的相關(guān)技術(shù)。作為一種全新的商業(yè)模式,云計(jì)算徹底顛覆了人類(lèi)獲得IT資源的方式,云計(jì)算服務(wù)商可以通過(guò)網(wǎng)絡(luò)、以服務(wù)的方式提供非常廉價(jià)的IT資源。
云計(jì)算和大數(shù)據(jù)存在如此緊密的關(guān)系,導(dǎo)致部分高校開(kāi)設(shè)的云計(jì)算課程和大數(shù)據(jù)課程存在高度的知識(shí)重合,也就是說(shuō),兩門(mén)課程都有大量的篇幅介紹Hadoop等大數(shù)據(jù)技術(shù)。為了解決這個(gè)尷尬的問(wèn)題,就需要改變兩門(mén)課程選擇的教材,因?yàn)榻滩膬?nèi)容往往決定了課程的內(nèi)容。云計(jì)算課程選擇的教材應(yīng)該盡量避免采用包含了大量大數(shù)據(jù)知識(shí)的復(fù)合型云計(jì)算教材,而應(yīng)該采用單一型云計(jì)算教材。在單一型云計(jì)算教材中[16],Hadoop等屬于大數(shù)據(jù)課程的內(nèi)容不會(huì)作為核心內(nèi)容,只會(huì)用一個(gè)章節(jié)簡(jiǎn)要介紹Hadoop等大數(shù)據(jù)技術(shù)。
采用單一型云計(jì)算教材以后,云計(jì)算和大數(shù)據(jù)兩門(mén)課程的知識(shí)重點(diǎn)就有了明顯的區(qū)分,不會(huì)重合,具體如下[17]。
(1)云計(jì)算課程的教學(xué)重點(diǎn)
云計(jì)算課程內(nèi)容主要包括:云計(jì)算概念、云計(jì)算體系架構(gòu)、數(shù)據(jù)中心、虛擬化技術(shù)(平臺(tái)虛擬化、資源虛擬化、虛擬機(jī)的動(dòng)態(tài)遷移、云操作系統(tǒng))、SOA架構(gòu)及開(kāi)發(fā)技術(shù)、云數(shù)據(jù)中心設(shè)計(jì)與測(cè)試、云數(shù)據(jù)中心維護(hù)與管理、云安全架構(gòu)、桌面云、PaaS應(yīng)用開(kāi)發(fā)平臺(tái)、開(kāi)源的云計(jì)算管理平臺(tái)Openstack、Docker容器、大數(shù)據(jù)存儲(chǔ)與管理(最多2個(gè)學(xué)時(shí))。
(2)大數(shù)據(jù)的教學(xué)重點(diǎn)
大數(shù)據(jù)課程內(nèi)容主要包括:大數(shù)據(jù)的基本概念、Hadoop、HDFS、HBase、NoSQL數(shù)據(jù)庫(kù)、云數(shù)據(jù)庫(kù)、MapReduce、Spark、流計(jì)算、圖計(jì)算、數(shù)據(jù)可視化以及大數(shù)據(jù)在互聯(lián)網(wǎng)、生物醫(yī)學(xué)和物流等各個(gè)領(lǐng)域的應(yīng)用。
該課程在Hadoop、HDFS、HBase、MapReduce、Spark等重要章節(jié)安排了入門(mén)級(jí)的實(shí)踐操作,讓學(xué)生更好地學(xué)習(xí)和掌握大數(shù)據(jù)關(guān)鍵技術(shù)。具體學(xué)時(shí)安排見(jiàn)表1。
需要指出的是,在具體開(kāi)展這門(mén)課程的教學(xué)時(shí),各個(gè)高??梢愿鶕?jù)自身的實(shí)際情況和特點(diǎn),對(duì)課程內(nèi)容進(jìn)行適當(dāng)調(diào)整。如果對(duì)理論層面內(nèi)容比較注重,則可以適當(dāng)?shù)厣钊胫v解理論內(nèi)容,減少實(shí)驗(yàn)編程學(xué)時(shí)(比如可以把一些編程上機(jī)操作留作學(xué)生課后作業(yè));如果更加注重實(shí)踐操作層面,則可以減少理論內(nèi)容的講解,補(bǔ)充一些編程案例到課堂教學(xué)中。
該課程將筆者編著的《大數(shù)據(jù)技術(shù)原理與應(yīng)用(第2版)》作為課程教材[12]。該教材共分四大部分,包括大數(shù)據(jù)基礎(chǔ)篇、大數(shù)據(jù)存儲(chǔ)篇、大數(shù)據(jù)處理與分析篇和大數(shù)據(jù)應(yīng)用篇。在大數(shù)據(jù)基礎(chǔ)篇中,介紹了大數(shù)據(jù)的基本概念和應(yīng)用領(lǐng)域,闡述了大數(shù)據(jù)、云計(jì)算和物聯(lián)網(wǎng)的相互關(guān)系,并重點(diǎn)介紹了大數(shù)據(jù)處理架構(gòu)Hadoop。由于Hadoop已經(jīng)成為應(yīng)用最為廣泛的大數(shù)據(jù)技術(shù),因此,該書(shū)的大數(shù)據(jù)相關(guān)技術(shù)主要圍繞Hadoop展開(kāi),包括Hadoop MapReduce、HDFS和HBase。在大數(shù)據(jù)存儲(chǔ)篇中,分別介紹了大數(shù)據(jù)存儲(chǔ)相關(guān)技術(shù)的概念與原理,包括HDFS、HBase、NoSQL數(shù)據(jù)庫(kù)和云數(shù)據(jù)庫(kù)。在大數(shù)據(jù)處理與分析篇,介紹了大數(shù)據(jù)處理和分析的核心技術(shù)——MapReduce,然后,介紹了大數(shù)據(jù)時(shí)代兩種新興的數(shù)據(jù)分析技術(shù)——流計(jì)算和圖計(jì)算,最后簡(jiǎn)單介紹了可視化技術(shù)。在大數(shù)據(jù)應(yīng)用篇,介紹了大數(shù)據(jù)在互聯(lián)網(wǎng)、生物醫(yī)學(xué)和物流等各個(gè)領(lǐng)域的典型應(yīng)用。
《大數(shù)據(jù)技術(shù)原理與應(yīng)用(第2版)》屬于入門(mén)級(jí)教材,它和進(jìn)階級(jí)大數(shù)據(jù)教材《Spark編程基礎(chǔ)(Scala版)》[14]以及大數(shù)據(jù)實(shí)訓(xùn)案例系列教材一起構(gòu)成了可以滿足高校教學(xué)需求的大數(shù)據(jù)教材體系。
在高校大數(shù)據(jù)教學(xué)過(guò)程中,實(shí)踐是很重要的環(huán)節(jié)。因此,很多高校在開(kāi)設(shè)大數(shù)據(jù)課程時(shí),不僅要選擇好的教材,同時(shí)也要選擇好的大數(shù)據(jù)實(shí)驗(yàn)平臺(tái)。總體而言,當(dāng)前國(guó)內(nèi)有以下幾種大數(shù)據(jù)實(shí)驗(yàn)平臺(tái)方案。
(1)建設(shè)統(tǒng)一的大數(shù)據(jù)實(shí)驗(yàn)機(jī)房
條件較好的高??梢越ㄔO(shè)統(tǒng)一的大數(shù)據(jù)機(jī)房,為師生提供大數(shù)據(jù)上機(jī)環(huán)境。機(jī)房建設(shè)的方案也各有不同,部分高校采用“云桌面”解決方案,還有一部分高校采用“小集群”解決方案。在“云桌面”解決方案中,需要在機(jī)房部署一個(gè)中央服務(wù)器,通過(guò)虛擬化技術(shù)可以構(gòu)建出多個(gè)虛擬化主機(jī),學(xué)生在終端機(jī)(相當(dāng)于云桌面)上通過(guò)網(wǎng)絡(luò)連接到中央服務(wù)器,中央服務(wù)器會(huì)為其分配一個(gè)虛擬機(jī),學(xué)生在虛擬機(jī)上完成各種實(shí)驗(yàn)操作。在“小集群”解決方案中,可以為每個(gè)學(xué)生分配一臺(tái)物理計(jì)算機(jī),然后,由3~5個(gè)學(xué)生組成一個(gè)小組,讓每個(gè)小組內(nèi)部的多臺(tái)計(jì)算機(jī)組建一個(gè)物理的集群,學(xué)生在集群中開(kāi)展各種實(shí)驗(yàn)。
(2)單機(jī)構(gòu)建實(shí)驗(yàn)環(huán)境
單機(jī)構(gòu)建實(shí)驗(yàn)環(huán)境主要是為了滿足教師和學(xué)生課后學(xué)習(xí)實(shí)踐大數(shù)據(jù)時(shí)的需求。因?yàn)闄C(jī)房統(tǒng)一上機(jī)的時(shí)間相對(duì)有限,大數(shù)據(jù)的學(xué)習(xí)還需要學(xué)生課后在自己的計(jì)算機(jī)上開(kāi)展上機(jī)實(shí)踐。單機(jī)構(gòu)建大數(shù)據(jù)實(shí)驗(yàn)環(huán)境可以采用“虛擬機(jī)”和“雙系統(tǒng)”兩種方式。在“虛擬機(jī)”方式中,需要啟動(dòng)進(jìn)入Windows系統(tǒng),在系統(tǒng)中安裝虛擬機(jī)軟件,比如VMWare或者VirtualBox,然后,在虛擬機(jī)軟件上安裝Linux操作系統(tǒng),再在Linux操作系統(tǒng)上安裝Hadoop等大數(shù)據(jù)相關(guān)軟件。若采用“雙系統(tǒng)”的方式,在開(kāi)機(jī)啟動(dòng)時(shí),可以直接選擇進(jìn)入Linux系統(tǒng),開(kāi)展大數(shù)據(jù)實(shí)驗(yàn)。
(3)實(shí)驗(yàn)室多機(jī)構(gòu)建分布式環(huán)境
如果實(shí)驗(yàn)室有多臺(tái)計(jì)算機(jī)可用,則可以利用這些機(jī)器構(gòu)建一個(gè)集群,實(shí)現(xiàn)真正的分布式環(huán)境,從而完成一些科研數(shù)據(jù)的處理分析。通過(guò)多機(jī)的分布式計(jì)算,可以大大提高科研數(shù)據(jù)分析的效率。
課程配套資源的建設(shè)是打造一門(mén)優(yōu)質(zhì)課程的重要環(huán)節(jié)。為了方便高校教師開(kāi)設(shè)大數(shù)據(jù)課程,提高學(xué)生的課程學(xué)習(xí)效果,筆者團(tuán)隊(duì)制作了豐富的課程配套資源,包括講義PPT、習(xí)題、實(shí)驗(yàn)手冊(cè)、技術(shù)博客和課程視頻等,并通過(guò)MOOC平臺(tái)發(fā)布。
表1 “大數(shù)據(jù)技術(shù)原理與應(yīng)用”課程內(nèi)容與學(xué)時(shí)安排
豐富的課程配套資源必須通過(guò)方便快捷的方式傳播給大數(shù)據(jù)學(xué)習(xí)者,只有這樣才能充分發(fā)揮配套學(xué)習(xí)資源的價(jià)值。為此,筆者團(tuán)隊(duì)專門(mén)為課程配套建設(shè)了高校大數(shù)據(jù)課程公共服務(wù)平臺(tái),旨在促進(jìn)國(guó)內(nèi)高校大數(shù)據(jù)課程體系建設(shè),提高大數(shù)據(jù)課程教學(xué)水平,降低大數(shù)據(jù)課程學(xué)習(xí)門(mén)檻,提升學(xué)生課程學(xué)習(xí)效果。該平臺(tái)為全國(guó)高校教師和學(xué)生提供大數(shù)據(jù)教學(xué)資源一站式“免費(fèi)”在線服務(wù),包括課程教材、講義PPT、課程習(xí)題、實(shí)驗(yàn)指南、學(xué)習(xí)指南、備課指南、授課視頻和技術(shù)資料等。
具備合格的師資力量是各個(gè)高校開(kāi)設(shè)大數(shù)據(jù)課程的前提條件。由于大數(shù)據(jù)知識(shí)體系較新,很多高校不具備大數(shù)據(jù)師資儲(chǔ)備。因此,筆者團(tuán)隊(duì)通過(guò)“公益”師資培訓(xùn)、大型研討會(huì)、大數(shù)據(jù)公開(kāi)課全國(guó)高校巡講等活動(dòng),向全國(guó)高校傳播大數(shù)據(jù)教學(xué)、普及大數(shù)據(jù)知識(shí)體系的同時(shí),使不同高校教師互相分享教學(xué)理念和教學(xué)方法,共同推進(jìn)中國(guó)高校大數(shù)據(jù)專業(yè)教學(xué)的發(fā)展。
大數(shù)據(jù)時(shí)代已經(jīng)全面開(kāi)啟,高校大數(shù)據(jù)課程體系建設(shè)正在加速推進(jìn)。目前,一些尚未開(kāi)設(shè)大數(shù)據(jù)專業(yè)的高校已經(jīng)在計(jì)算機(jī)和軟件工程等專業(yè)中開(kāi)設(shè)了大數(shù)據(jù)課程,以達(dá)到拓展學(xué)生知識(shí)結(jié)構(gòu)、增強(qiáng)人才核心競(jìng)爭(zhēng)力的目的。而對(duì)于已經(jīng)開(kāi)設(shè)了大數(shù)據(jù)專業(yè)的高校而言,更是把大數(shù)據(jù)課程作為核心課程進(jìn)行重點(diǎn)建設(shè),一方面通過(guò)參加師資培訓(xùn)鍛煉教師隊(duì)伍,另一方面建設(shè)高水平的大數(shù)據(jù)實(shí)訓(xùn)實(shí)驗(yàn)室,滿足大數(shù)據(jù)課程對(duì)實(shí)驗(yàn)環(huán)境的要求。各所高校都在為如何做好大數(shù)據(jù)專業(yè)做出有益的嘗試和探索。筆者相信,未來(lái)的3~5年內(nèi),在全國(guó)高校大數(shù)據(jù)教育工作者和企業(yè)界的共同努力下,高校大數(shù)據(jù)課程體系會(huì)逐漸走向完善,高校大數(shù)據(jù)教學(xué)水平會(huì)不斷邁上新的臺(tái)階。