羅利

摘要:針對(duì)Hadoop開發(fā)技術(shù)課程的實(shí)踐教學(xué),文中給出了具體課程教學(xué)內(nèi)容和方法,提出實(shí)踐教學(xué)平臺(tái)的建設(shè)思路,為大數(shù)據(jù)其他專業(yè)的實(shí)踐教學(xué)提供參考,促進(jìn)教學(xué)改革。
關(guān)鍵詞:大數(shù)據(jù);Hadoop課程;實(shí)踐教學(xué)
中圖分類號(hào):TP311? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2021)12-0110-02
21世紀(jì),以人工智能為標(biāo)志的技術(shù)革命將信息技術(shù)推到新時(shí)代:智能時(shí)代,人工智能、大數(shù)據(jù)、云計(jì)算、物聯(lián)網(wǎng)是當(dāng)今人工智能應(yīng)用時(shí)代的基本組成要素。近年來,越來越多高職院校開設(shè)大數(shù)據(jù)技術(shù)與應(yīng)用專業(yè),發(fā)展趨勢(shì)向好,但也充滿了機(jī)遇和挑戰(zhàn),如專業(yè)開設(shè)時(shí)間短、前期投入資金少、師資力量薄弱。同時(shí)專業(yè)的特殊性,核心課程的實(shí)踐教學(xué)對(duì)實(shí)驗(yàn)設(shè)備依賴性大,實(shí)踐項(xiàng)目實(shí)施對(duì)學(xué)生綜合能力要求高、應(yīng)用性廣,學(xué)生在實(shí)踐過程中困難較大。
1 實(shí)踐教學(xué)內(nèi)容
Hadoop開發(fā)技術(shù)課程是大數(shù)據(jù)技術(shù)與應(yīng)用專業(yè)的核心課程,前置課程有Linux操作系統(tǒng)基礎(chǔ)、Java編程基礎(chǔ),主要培養(yǎng)學(xué)生在大數(shù)據(jù)應(yīng)用系統(tǒng)開發(fā)的能力,并掌握數(shù)據(jù)采集、分析、處理、可視化等方面的核心技能。教學(xué)目標(biāo)有:了解大數(shù)據(jù)行業(yè)及就業(yè)崗位;了解Hadoop應(yīng)用系統(tǒng)發(fā)展歷史和架構(gòu);了解大數(shù)據(jù)生態(tài)圈及各大組件;掌握符合需求的Hadoop集群平臺(tái)搭建;掌握Hadoop分布式文件系統(tǒng)HDFS的原理和編程操作方法;掌握MapReduce編程方法;掌握MapReduce解決常見的數(shù)據(jù)處理問題,如數(shù)據(jù)導(dǎo)入、清洗等問題。
Hadoop開發(fā)技術(shù)課程在大數(shù)據(jù)技術(shù)與應(yīng)用專業(yè)中起承上啟下作用,要求學(xué)生會(huì)熟練使用Linux操作系統(tǒng),并有一定編程能力。另外,由于國(guó)內(nèi)大數(shù)據(jù)教材建設(shè)尚不成熟,Hadoop課程在教材選用上,教學(xué)內(nèi)容受限,單獨(dú)一本教材很難體現(xiàn)實(shí)踐教學(xué)的全部?jī)?nèi)容。所以,本文整理了實(shí)際教學(xué)中的實(shí)踐教學(xué)內(nèi)容,詳細(xì)內(nèi)容見表1。
表1中列出了40個(gè)課時(shí)的實(shí)踐內(nèi)容,在實(shí)踐教學(xué)過程中可以根據(jù)學(xué)生的接受能力、基礎(chǔ)水平、實(shí)驗(yàn)環(huán)境等因素對(duì)學(xué)時(shí)做略微調(diào)整,如可以將某些實(shí)驗(yàn)作為課后作業(yè)。
從表中可以看出,MapReduce編程是整個(gè)實(shí)踐教學(xué)的重點(diǎn)和難點(diǎn)。從學(xué)生上課的學(xué)習(xí)情況看出,在學(xué)習(xí)這一部分時(shí),必須有Java語言和編程邏輯。針對(duì)這一部分教學(xué),可采用PPT講授、實(shí)踐練習(xí)、課外視頻學(xué)習(xí)多種方法。
2 教學(xué)平臺(tái)建設(shè)
由于大數(shù)據(jù)技術(shù)專業(yè)的專業(yè)特殊性,開設(shè)的課程對(duì)設(shè)備依賴性較高,高職學(xué)校在教學(xué)平臺(tái)建設(shè)方面都處于起步狀態(tài),既要保證良好的教學(xué)效率又要考慮實(shí)際實(shí)施環(huán)境、資金投入的要求,也是一個(gè)難以平衡的挑戰(zhàn)。
2.1 已存在的實(shí)踐教學(xué)平臺(tái)
實(shí)踐教學(xué)平臺(tái)建設(shè)使用方面,國(guó)內(nèi)外高校有一些成功的經(jīng)驗(yàn)供高職院校參考。比如文獻(xiàn)[1]中將亞馬遜的EC2商業(yè)大數(shù)據(jù)環(huán)境作為教學(xué)平臺(tái),直接購(gòu)買服務(wù)方便教學(xué),但是每次實(shí)驗(yàn)如果超出時(shí)長(zhǎng),就要額外的費(fèi)用開銷。文獻(xiàn)[2]中提出了一種混合使用物理服務(wù)器和私有云云主機(jī)的大數(shù)據(jù)平臺(tái),可同時(shí)兼顧性能和可擴(kuò)展性。文獻(xiàn)[3]從高校辦學(xué)的現(xiàn)實(shí)條件出發(fā),以科學(xué)、節(jié)約為原則,提出利用Docker和OpenStack的混合架構(gòu)建立大數(shù)據(jù)云實(shí)驗(yàn)室,在投入資金較少的情況下,快速部署大數(shù)據(jù)實(shí)驗(yàn)環(huán)境。
2.2 構(gòu)建實(shí)踐教學(xué)平臺(tái)
大數(shù)據(jù)專業(yè)在高職院校的開設(shè)時(shí)間起步較晚,各種教學(xué)資源尚不完善,教學(xué)平臺(tái)單一,大部分院校在進(jìn)行實(shí)踐課程教學(xué)時(shí),通常會(huì)采用以下方法進(jìn)行教學(xué)。
(1)普通PC機(jī)構(gòu)建環(huán)境
在物理PC機(jī)上通過VMware Workstation軟件安裝多個(gè)Linux虛擬機(jī),然后在虛擬機(jī)上部署Hadoop偽分布式環(huán)境搭建、完全分布式搭建。目前,很多教材中的案例都是采用這種方式。在單臺(tái)PC機(jī)上直接構(gòu)建實(shí)驗(yàn)環(huán)境對(duì)硬件環(huán)境要求低,普通PC機(jī)即可搭建成功,也可以鍛煉學(xué)生動(dòng)手實(shí)踐能力。但是單機(jī)的配置、性能有限,學(xué)生無法體驗(yàn)分布式環(huán)境的優(yōu)勢(shì),其次,課程實(shí)踐教學(xué)時(shí)間有限,一節(jié)課通常是40-45分鐘,以MapReduce編程模塊為例,這個(gè)實(shí)驗(yàn)的前提條件是必須搭建啟動(dòng)hadoop集群環(huán)境后,連接好集群,才可以繼續(xù)MapReduce編程。學(xué)生在實(shí)踐時(shí),高職學(xué)生基礎(chǔ)相對(duì)薄弱,環(huán)境搭建部分需要耗費(fèi)時(shí)間較多,導(dǎo)致后面MapReduce編程時(shí)間少。這種情況下,無法保證良好的學(xué)習(xí)效果。
(2)自建實(shí)驗(yàn)室
學(xué)校通過和互聯(lián)網(wǎng)公司校企合作共建大數(shù)據(jù)實(shí)驗(yàn)室,實(shí)驗(yàn)室利用Linux服務(wù)器集群和Docker容器技術(shù)構(gòu)建。這種方式是目前大多數(shù)職業(yè)學(xué)校會(huì)采用的教學(xué)平臺(tái)。優(yōu)點(diǎn)是本身實(shí)驗(yàn)室系統(tǒng)內(nèi)就提供了大量的課程資源,一次投入可獲得多門課程的教學(xué)。從老師方面看,教師可以根據(jù)自身教學(xué)情況、彈性靈活定制實(shí)驗(yàn)環(huán)境,滿足Hadoop完全分布式、MapReduce編程各種實(shí)驗(yàn),貼近企業(yè)的實(shí)際環(huán)境。對(duì)學(xué)生來說,課后可更有針對(duì)性練習(xí)實(shí)踐,教學(xué)效果更好。缺點(diǎn)是自建實(shí)驗(yàn)室花費(fèi)成本高,學(xué)校層面支持度有限。同時(shí)分配到每個(gè)學(xué)生的虛擬化資源有限,當(dāng)資源的并發(fā)度較高時(shí),就容易出現(xiàn)卡頓情況,所以在安排課程時(shí),盡量錯(cuò)開高峰。
本專業(yè)在進(jìn)行Hadoop開發(fā)技術(shù)課程教學(xué)時(shí),與普開公司校企合作,建立了云實(shí)驗(yàn)平臺(tái)大數(shù)據(jù)實(shí)驗(yàn)室。系統(tǒng)中內(nèi)置的《大數(shù)據(jù)Hadoop基礎(chǔ)》課程設(shè)置了Hadoop安裝部署、HDFS:文件創(chuàng)建與寫入、HDFS:獲取文件元數(shù)據(jù)、MapReduce編程:?jiǎn)卧~計(jì)數(shù)、MapReduce編程:檢索特定偏好用戶等17個(gè)實(shí)驗(yàn),囊括了Hadoop基礎(chǔ)知識(shí)。系統(tǒng)包括教學(xué)、實(shí)驗(yàn)、評(píng)價(jià)、監(jiān)控、分析一整套流程,功能豐富,能夠提高教學(xué)效果。
3多種實(shí)踐教學(xué)平臺(tái)融合
高職院校要達(dá)到更好的教學(xué)效果,在教學(xué)平臺(tái)的選用上要結(jié)合上述兩種實(shí)踐教學(xué)平臺(tái)的特點(diǎn),綜合設(shè)計(jì)一套實(shí)踐環(huán)境和豐富的教學(xué)方法,并確保不同的實(shí)驗(yàn)任務(wù)能夠靈活使用不同的實(shí)驗(yàn)環(huán)境。
(1)簡(jiǎn)單的實(shí)驗(yàn),如Hadoop環(huán)境安裝、HDFS基本命令使用、HDFS API編程這些上手簡(jiǎn)單的實(shí)驗(yàn)都可以在機(jī)房普通PC機(jī)上搭建偽分布式環(huán)境完成。
(2)課后作業(yè),學(xué)生可以在自己的PC機(jī)上完成,也可以登錄校園網(wǎng)使用大數(shù)據(jù)實(shí)驗(yàn)室系統(tǒng)完成實(shí)驗(yàn)。
(3)步驟復(fù)雜、耗時(shí)較長(zhǎng)的實(shí)驗(yàn),學(xué)生可以在自己電腦上搭建偽分布環(huán)境,完成編碼,測(cè)試程序。如果數(shù)據(jù)量比較小,可直接在偽分布集群環(huán)境提交任務(wù)。如果數(shù)據(jù)量大,可以將代碼導(dǎo)出jar包放到大數(shù)據(jù)云實(shí)驗(yàn)系統(tǒng)中完成。
教師在設(shè)計(jì)實(shí)驗(yàn)環(huán)節(jié)時(shí)充分考慮多種實(shí)驗(yàn)平臺(tái)靈活搭配,形式多樣,不使用單一的實(shí)驗(yàn)環(huán)境,使實(shí)踐教學(xué)更加貼近企業(yè)的真實(shí)項(xiàng)目。
4結(jié)束語
實(shí)踐教學(xué)中,大數(shù)據(jù)技術(shù)與應(yīng)用專業(yè)開設(shè)的Hadoop開發(fā)技術(shù)課程使用了本文提到的方法開展實(shí)踐教學(xué)。經(jīng)過2個(gè)學(xué)期的教學(xué)實(shí)踐,學(xué)生基礎(chǔ)相對(duì)薄弱,Hadoop集群環(huán)境搭建的理論知識(shí)有待加強(qiáng)。學(xué)生積極性高,愿意主動(dòng)、獨(dú)立完成任務(wù);提交的實(shí)驗(yàn)報(bào)告正確詳細(xì),取得了較好的教學(xué)效果。對(duì)于此類對(duì)硬件設(shè)備要求高的課程,教師應(yīng)該盡快提高自己的實(shí)踐能力,化抽象知識(shí)生動(dòng)具體。利用信息化資源、教學(xué)平臺(tái),提高實(shí)踐類課程的教學(xué)效果,更貼切滿足企業(yè)的用人要求。
參考文獻(xiàn):
[1] Rabkin A S,Reiss C,Katz R,et al.Experiences teaching MapReduce in the cloud[C]//Proceedings of the 43rd ACM technical symposium on Computer Science Education - SIGCSE '12.February 29-March 3,2012.Raleigh,North Carolina,USA.New York:ACM Press,2012:601-606.
[2] 王永坤,羅萱,金耀輝.基于私有云和物理機(jī)的混合型大數(shù)據(jù)平臺(tái)設(shè)計(jì)及實(shí)現(xiàn)[J].計(jì)算機(jī)工程與科學(xué),2018,40(2):191-199.
[3] 王焱,吳青林.基于Docker和OpenStack的高校大數(shù)據(jù)云實(shí)驗(yàn)室構(gòu)建[J].實(shí)驗(yàn)技術(shù)與管理,2019,36(9):254-258.
【通聯(lián)編輯:李雅琪】