盧菁 彭敦陸 劉叢
摘? 要: 大數(shù)據(jù)催生了云計(jì)算,而如何在云環(huán)境中提供高質(zhì)量的數(shù)據(jù)服務(wù)成為研究的熱點(diǎn)。為來(lái)華留學(xué)研究生開(kāi)設(shè)的全英語(yǔ)“云計(jì)算數(shù)據(jù)服務(wù)”課程,是以數(shù)據(jù)為中心,以實(shí)踐為導(dǎo)向,設(shè)計(jì)了進(jìn)階式的教學(xué)大綱,利用“比較教學(xué)法”對(duì)SQL與NoSQL、SQL與HiveQL進(jìn)行比較教學(xué),利用“微課堂”讓學(xué)生可以自主進(jìn)行Hadoop部署、中英文MapReduce詞頻統(tǒng)計(jì)、Hive部署和HiveQL實(shí)踐操作,以掌握云數(shù)據(jù)服務(wù)的基本平臺(tái)、工具和語(yǔ)言。課程評(píng)價(jià)體系的改革,保障了教學(xué)質(zhì)量。
關(guān)鍵詞: 課程建設(shè); 云計(jì)算; 數(shù)據(jù)服務(wù); Hadoop; Hive
中圖分類(lèi)號(hào):G642.3? ? ? ? ? 文獻(xiàn)標(biāo)志碼:A? ? ?文章編號(hào):1006-8228(2019)04-63-03
Abstract: Big data has stimulated the development of cloud computing technology, and how to provide high-quality data services in the cloud environment has become a research focus.? The full English course "Cloud Data Services" offered to foreign graduate students studying in China is data-centered and practice-oriented, with progressive teaching syllabus designed. The "comparative teaching method" is used to teach SQL and NoSQL, SQL and HiveQL comparatively; the "micro-classroom" is used so that students can deploy Hadoop, fulfill Chinese and English MapReduce word frequency statistics program and deploy HiveQL independently. Therefore students can understand the basic platform, tools and languages of cloud data services. The course evaluation system is reformed to achieve good teaching results.
Key words: course construction; cloud computing; data service; Hadoop; Hive
0 引言
目前,我國(guó)高等教育步入快速發(fā)展階段,來(lái)華留學(xué)生教育已經(jīng)成為我國(guó)高等教育的重要組成部分[1]。招收和培養(yǎng)來(lái)華留學(xué)的研究生,目的是培養(yǎng)他們成為適應(yīng)國(guó)際競(jìng)爭(zhēng)和符合國(guó)際需求的高級(jí)專(zhuān)業(yè)人才,人才培養(yǎng)的質(zhì)量關(guān)系著我國(guó)的國(guó)際聲譽(yù)和留學(xué)生事業(yè)的發(fā)展。隨著來(lái)華留學(xué)研究生人數(shù)的增加,其國(guó)別、母語(yǔ)、宗教信仰等方面存在諸多差異,基礎(chǔ)參差不齊,對(duì)課程結(jié)構(gòu)的設(shè)計(jì)、實(shí)踐環(huán)節(jié)的實(shí)施、評(píng)價(jià)體系的改革都提出了很高的要求。
針對(duì)IT領(lǐng)域?qū)τ谟?jì)算資源集約化、規(guī)模化和專(zhuān)業(yè)化的需求,云計(jì)算應(yīng)運(yùn)而生,國(guó)內(nèi)外各大lT 企業(yè)(如Google、Amazon、微軟、阿里巴巴、騰訊等)都先后推出了自己的云計(jì)算產(chǎn)品。越來(lái)越多的企業(yè)和用戶(hù)選擇將自己的數(shù)據(jù)存放在云中,如何在云計(jì)算環(huán)境中提供高質(zhì)量的數(shù)據(jù)服務(wù)成為研究熱點(diǎn)。我們?cè)趤?lái)華留學(xué)的研究生中開(kāi)設(shè)“云計(jì)算數(shù)據(jù)服務(wù)”課程,為學(xué)生掌握最先進(jìn)的研究技術(shù)、研究進(jìn)展和研究動(dòng)態(tài)提供了可能。
然而,目前來(lái)華留學(xué)研究生在學(xué)習(xí)過(guò)程中普遍存在以下問(wèn)題。
⑴ 留學(xué)生專(zhuān)業(yè)基礎(chǔ)普遍薄弱,而研究生課程知識(shí)點(diǎn)分散、難度較大,實(shí)踐環(huán)節(jié)則需要綜合運(yùn)用先修課程,許多學(xué)生對(duì)于理論和實(shí)踐緊密結(jié)合的課程無(wú)從下手。
⑵ 教師與留學(xué)生之間存在語(yǔ)言隔閡。目前一對(duì)多的教學(xué)結(jié)構(gòu)很難保證對(duì)每名學(xué)生進(jìn)行詳細(xì)指導(dǎo),而留學(xué)生缺乏自我分析和解決問(wèn)題能力,遇到困難往往難以自己解決,難以按期按質(zhì)完成實(shí)踐任務(wù)。
⑶ 云計(jì)算思維的培養(yǎng)無(wú)法一蹴而就,也無(wú)法通過(guò)簡(jiǎn)單的案例教學(xué)達(dá)到目標(biāo),需要對(duì)云計(jì)算精髓的問(wèn)題或項(xiàng)目進(jìn)行不斷的分析、整合,在反復(fù)的學(xué)習(xí)過(guò)程中理解云計(jì)算數(shù)據(jù)服務(wù)的含義。
綜上,我們首先采用全英語(yǔ)教學(xué),教學(xué)大綱、課件、實(shí)踐微課堂等全部采用英語(yǔ)授課,消除語(yǔ)言障礙。其次,針對(duì)留學(xué)研究生的特點(diǎn),我們?cè)O(shè)計(jì)出進(jìn)階式的教學(xué)內(nèi)容,充分利用對(duì)比教學(xué)法,開(kāi)發(fā)“微課堂”實(shí)踐教學(xué)視頻,并建立合理的教學(xué)評(píng)價(jià)體系,在近年的教學(xué)過(guò)程中取得長(zhǎng)足的進(jìn)步。該課程首先講述在數(shù)據(jù)分布、數(shù)據(jù)異構(gòu)的情況下數(shù)據(jù)服務(wù)的概念、技術(shù)和方法,在介紹云計(jì)算數(shù)據(jù)服務(wù)的技術(shù)時(shí),以理論介紹為主、實(shí)踐教學(xué)為輔的方法,讓學(xué)生在掌握云計(jì)算一般概念的基礎(chǔ)上,能夠熟練部署Hadoop平臺(tái),能夠編寫(xiě)出MapReduce程序,能夠掌握Hive的下載和部署方法,掌握HiveQL指令的用法,熟知其執(zhí)行過(guò)程。
1 進(jìn)階式課程結(jié)構(gòu)
進(jìn)階式課程結(jié)構(gòu)將整個(gè)課程合理地設(shè)置為若干個(gè)階段,以特定的學(xué)習(xí)目標(biāo)為契機(jī),將每一階段學(xué)習(xí)內(nèi)容與目標(biāo)建立在前一個(gè)階段的分析與整合之上。在簡(jiǎn)單的學(xué)習(xí)與復(fù)雜的整合間反復(fù)進(jìn)行,螺旋向上,逐步達(dá)到既定目標(biāo)[2]。
本課程包括以下內(nèi)容:數(shù)據(jù)集成技術(shù)、虛擬化、大數(shù)據(jù)的特點(diǎn)與云計(jì)算、Hadoop、NoSQL與Key-value、MapReduce、數(shù)據(jù)分析工具Hive。這些內(nèi)容從分布式數(shù)據(jù)管理開(kāi)始,到異構(gòu)數(shù)據(jù)通過(guò)Wrapper集成,到虛擬化的出現(xiàn)導(dǎo)致數(shù)據(jù)云存儲(chǔ)成為可能,由此出現(xiàn)了開(kāi)源云平臺(tái)Hadoop。每一部分都是上一部分的深化和進(jìn)階。數(shù)據(jù)分析部分首先從NoSQL和Key-Value存儲(chǔ)開(kāi)始,到MapReduce編程框架,從新存儲(chǔ)方式下數(shù)據(jù)分析的困難講到Hive的誕生,再到HiveQL的出現(xiàn),環(huán)環(huán)相扣,學(xué)生通過(guò)學(xué)習(xí)不僅可以對(duì)傳統(tǒng)的數(shù)據(jù)服務(wù)加深理解,更能夠理解云數(shù)據(jù)服務(wù)的來(lái)龍去脈。
2 比較教學(xué)法
比較教學(xué)法是指,在教學(xué)環(huán)節(jié)中將兩個(gè)或多個(gè)學(xué)習(xí)對(duì)象放在一起,從不同方面、不同角度、不同屬性上按照同一標(biāo)準(zhǔn)進(jìn)行對(duì)比分析,以達(dá)到辨識(shí)、理解和掌握認(rèn)識(shí)對(duì)象的本質(zhì)特征的一種教學(xué)方法[3]。教學(xué)過(guò)程中,比較教學(xué)法能夠使得學(xué)習(xí)者對(duì)所學(xué)內(nèi)容清晰認(rèn)識(shí)、準(zhǔn)確把握,有利于培養(yǎng)專(zhuān)業(yè)理論基礎(chǔ)扎實(shí)和實(shí)踐應(yīng)用能力強(qiáng)的創(chuàng)新科技人才。
⑴ SQL與NoSQL的比較。
NoSQL是一種非關(guān)系型的、分布式的、不嚴(yán)格遵循ACID原則并且高可擴(kuò)展的新型數(shù)據(jù)存儲(chǔ)系統(tǒng),并分為Key-value存儲(chǔ)文檔數(shù)據(jù)庫(kù)和圖數(shù)據(jù)庫(kù)。NoSQL通過(guò)放棄嚴(yán)格的ACID事務(wù)語(yǔ)義和復(fù)雜的SQL或者Posix接口標(biāo)準(zhǔn),采用簡(jiǎn)單靈活的Key-value數(shù)據(jù)模型來(lái)?yè)Q取更好的性能和水平擴(kuò)展能力。而SQL服務(wù)的傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)則具有嚴(yán)格的語(yǔ)義,嚴(yán)格遵循ACID原則。講解這一部分時(shí),需要反復(fù)比較SQL與NoSQL服務(wù)的場(chǎng)景不同、需求不同、問(wèn)題不同??赏ㄟ^(guò)銀行數(shù)據(jù)(嚴(yán)格語(yǔ)義要求)和微博數(shù)據(jù)(無(wú)嚴(yán)格語(yǔ)義要求)兩個(gè)案例的對(duì)比,讓學(xué)生加深理解。
⑵ SQL與HiveQL的比較。
Hive是基于Hadoop構(gòu)建的數(shù)據(jù)倉(cāng)庫(kù)分析系統(tǒng),誕生于Facebook,是用來(lái)管理結(jié)構(gòu)化數(shù)據(jù)的中間件,數(shù)據(jù)存儲(chǔ)使用HDFS,執(zhí)行環(huán)境為MapReduce,使用類(lèi)似SQL語(yǔ)言的HiveQL語(yǔ)言分析存儲(chǔ)在Hadoop分布式文件系統(tǒng)中的數(shù)據(jù),使不熟悉MapReduce的用戶(hù)也可以方便地使用HiveQL語(yǔ)言來(lái)數(shù)據(jù)分析,同時(shí)Hive還提供了一系列工具來(lái)提取和轉(zhuǎn)化數(shù)據(jù)。HiveQL的語(yǔ)法與大部分SQL語(yǔ)法兼容,這為熟悉關(guān)系數(shù)據(jù)庫(kù)SQL的專(zhuān)業(yè)人員操作和分析Hadoop大數(shù)據(jù)提供了方便。這里學(xué)生很容易認(rèn)為HiveQL與SQL一樣,都是處理關(guān)系數(shù)據(jù)庫(kù)的,從而誤認(rèn)為后臺(tái)的大數(shù)據(jù)是被Hive轉(zhuǎn)換成了關(guān)系數(shù)據(jù)庫(kù)。通過(guò)SQL與HiveQL的對(duì)比讓學(xué)生明確,SQL是面對(duì)關(guān)系數(shù)據(jù)庫(kù)系統(tǒng),而HiveQL處理的是大數(shù)據(jù)結(jié)構(gòu)化文件,其面對(duì)的是Hive,Hive架構(gòu)在Hadoop上,本質(zhì)上后臺(tái)的處理是用MapReduce的方法處理大數(shù)據(jù)。SQL支持查詢(xún)、更新、索引、事務(wù),HiveQL不支持更新、索引和事務(wù)。SQL可以對(duì)數(shù)據(jù)進(jìn)行多次修改,而HiveQL處理的數(shù)據(jù)則是“Write Once Read Many”。通過(guò)SQL和HiveQL的對(duì)比,學(xué)生對(duì)云數(shù)據(jù)服務(wù)加深理解,對(duì)利用HiveQL進(jìn)行大數(shù)據(jù)分析有直觀的感受。
3 自主學(xué)習(xí)“微課堂”實(shí)踐
自主學(xué)習(xí)要求教師為學(xué)生營(yíng)造自主學(xué)習(xí)的必要環(huán)境和條件,讓學(xué)生能進(jìn)行自主研究型學(xué)習(xí),自主獲取知識(shí),學(xué)生在教師的引導(dǎo)下最終獲得自主學(xué)習(xí)的能力、創(chuàng)新意識(shí)和終身學(xué)習(xí)的能力。
“微課堂”將實(shí)踐模塊封裝成一個(gè)半結(jié)構(gòu)化、主題式的資源單元應(yīng)用“小環(huán)境”,主題明確,重點(diǎn)突出[4]。我們?cè)O(shè)計(jì)出三個(gè)微課堂實(shí)踐視頻:Hadoop部署、用MapReduce分別實(shí)現(xiàn)英文和中文WordCount程序、Hive部署與HiveQL實(shí)踐,學(xué)生只需要利用碎片時(shí)間就可以反復(fù)觀看視頻以加深和鞏固對(duì)知識(shí)點(diǎn)的理解。每一個(gè)微課堂都配有PPT和演示視頻,PPT包括了所有的步驟和關(guān)鍵指令,視頻采用抓屏和畫(huà)外音的方式錄制,學(xué)生可按照PPT中的步驟完成三個(gè)微課堂的自主學(xué)習(xí)從而掌握云數(shù)據(jù)服務(wù)的平臺(tái)、工具和方法。
4 綜合性教學(xué)評(píng)價(jià)體系
學(xué)生學(xué)習(xí)效果的評(píng)估包括形成性評(píng)價(jià)和總結(jié)性評(píng)價(jià)[5]。形成性評(píng)價(jià)包括課堂作業(yè)、討論活躍度,微課堂實(shí)踐匯報(bào)等方式??偨Y(jié)性評(píng)價(jià)主要依靠期末報(bào)告獲得。學(xué)生微課堂學(xué)習(xí)實(shí)踐成功后可在教師答疑時(shí)演示從而獲得加分。期末報(bào)告時(shí)將學(xué)生分組,選取最前沿的云計(jì)算數(shù)據(jù)服務(wù)方面的英文資料,由組內(nèi)成員分工翻譯并形成最終文檔,再制作成PPT格式公開(kāi)講述,促進(jìn)組間交流,提升中文學(xué)術(shù)表達(dá)能力。
5 總結(jié)
綜合考慮來(lái)華留學(xué)生的學(xué)習(xí)基礎(chǔ)和學(xué)習(xí)能力,對(duì)教學(xué)內(nèi)容、實(shí)踐教學(xué)環(huán)境和網(wǎng)絡(luò)教學(xué)環(huán)境進(jìn)行搭建。采用進(jìn)階式教學(xué)對(duì)留學(xué)生進(jìn)行因材施教,實(shí)現(xiàn)對(duì)留學(xué)生的差異化培養(yǎng);通過(guò)比較教學(xué)法加深對(duì)SQL和NOSQL、SQL和HiveQL的理解;通過(guò)微課堂學(xué)生能熟練部署Hadoop平臺(tái)和Hive,能熟練編寫(xiě)MapReduce程序,掌握HiveQL數(shù)據(jù)分析方法;通過(guò)新的評(píng)價(jià)體系調(diào)動(dòng)學(xué)生積極性,在掌握理論知識(shí)點(diǎn)的基礎(chǔ)上提高了動(dòng)手能力。
未來(lái)我們計(jì)劃將整個(gè)課程網(wǎng)站移植到微信小程序下,發(fā)揮“微課堂”的自主學(xué)習(xí)功能,同時(shí)增加在線答疑功能,使更多學(xué)生受益。
參考文獻(xiàn)(References):
[1] 汪曉妍,黃鮮萍,夏明,胡海根.任務(wù)模塊化的留學(xué)生大型實(shí)驗(yàn)教學(xué)探索與實(shí)踐[J].計(jì)算機(jī)教育,2018.1: 51-154,158
[2] 盧文偉,夏其表,螺旋模式下非計(jì)算機(jī)專(zhuān)業(yè)程序設(shè)計(jì)課程中計(jì)算思維的培養(yǎng)[J].計(jì)算機(jī)時(shí)代,2018.11:79-80
[3] 趙軍龍,王鳳琴,趙建鵬.比較教學(xué)法在“測(cè)井方法原理”課程教學(xué)中的應(yīng)用[J].教育教學(xué)論壇,2018.3:191-192
[4] 高鏡云,華詔召,郭藝.微課堂利用對(duì)有效教學(xué)的提升與意義[J].文學(xué)教育,2018.33:21-23
[5] 白琳.大學(xué)計(jì)算機(jī)基礎(chǔ)課程的混合模式激趣教學(xué)法[J].計(jì)算機(jī)教育,2018.1:75-78