梁烜彰
【關(guān)鍵詞】數(shù)字化校園;大數(shù)據(jù)平臺;Hadoop
【中圖分類號】TP311 【文獻標識碼】A 【文章編號】1674-0688(2021)08-048-03
0 引言
隨著互聯(lián)網(wǎng)科學技術(shù)的高速發(fā)展,如今世界已進入全面信息化的時代。數(shù)據(jù)信息遍及我們生活中的每個角落,已然成為現(xiàn)代生活中一項重要的資源,各大頂尖公司都在競相爭奪數(shù)據(jù)資源,建立大數(shù)據(jù)平臺對收集到的數(shù)據(jù)進行處理分析,從而獲取有價值的信息,以便在競爭中處于有利的地位。
目前,大部分高校都已經(jīng)建設(shè)多種信息化系統(tǒng)進行管理,例如教務(wù)管理系統(tǒng)、財務(wù)管理系統(tǒng)、一卡通管理系統(tǒng)、圖書管理系統(tǒng)、就業(yè)管理系統(tǒng)、食堂管理系統(tǒng)等,這些系統(tǒng)雖然能完成各自部分的功能管理,但是這些系統(tǒng)都是在獨立運作,它們之間存在信息孤立,沒有實現(xiàn)數(shù)據(jù)互通。高校系統(tǒng)管理著成千上萬的師生,每年匯集了海量的數(shù)據(jù),這些數(shù)據(jù)結(jié)構(gòu)多樣復雜,如果不能有效地利用就會造成資源的浪費。在大數(shù)據(jù)時代背景下,如何高效地利用這些海量數(shù)據(jù)進行處理分析是未來高校信息化管理的一個挑戰(zhàn)。因此,依托高校信息管理系統(tǒng)建設(shè)一個大數(shù)據(jù)平臺具有重要的意義。本文提出一種基于Hadoop大數(shù)據(jù)技術(shù)的數(shù)據(jù)處理方案,對高校系統(tǒng)中產(chǎn)生的海量數(shù)據(jù)進行有效整合及處理,實現(xiàn)高校各管理系統(tǒng)功能一體化,提供高校師生的數(shù)據(jù)分析,從而提升信息化管理質(zhì)量。
1 Hadoop大數(shù)據(jù)技術(shù)
作為一個開源分布式的系統(tǒng)架構(gòu),Hadoop是專門研發(fā)用于大數(shù)據(jù)處理的工具,能有效地解決并行計算和分布式存儲。Hadoop的自由可擴展性、開源性和廉價低成本,使之成為目前應(yīng)用最廣泛的大數(shù)據(jù)處理平臺,備受研發(fā)人員的青睞。整個ApacheHadoop平臺包括Mapreduce、HFDS、Hadoop內(nèi)核及一些相關(guān)工具,其中又包括Hive和HBase等 [1]。
Hadoop能夠讓開發(fā)者輕松地搭建分布式計算平臺并應(yīng)用于開發(fā)數(shù)據(jù)處理相關(guān)的工具。作為分布式集群的框架,Hadoop可以方便地擴展到無數(shù)的節(jié)點中,分配相關(guān)數(shù)據(jù)計算等任務(wù)到空閑的計算機節(jié)點。與其他大數(shù)據(jù)框架相比,Hadoop的BitMap技術(shù)和優(yōu)良的數(shù)據(jù)處理能力,能夠?qū)崿F(xiàn)數(shù)據(jù)節(jié)點間的動態(tài)交互通信,這使得Hadoop在數(shù)據(jù)處理方面擁有極高的效率。Hadoop的副本策略在集群中會默認存儲多個數(shù)據(jù)副本,當出現(xiàn)任務(wù)失敗時能將任務(wù)自動重新分配,具有很高的容錯性。同時,構(gòu)建Hadoop平臺只需要廉價的服務(wù)器便能實現(xiàn),無須額外購買搭配昂貴的設(shè)備。由于Hadoop的開源特性,因此在基于Hadoop的開發(fā)項目上能降低許多軟件的開發(fā)成本,使開發(fā)者們可以放心地依賴它應(yīng)用研發(fā)項目。
1.1 Hadoop的整體框架
Hadoop的整體框架主要由兩個部分組成構(gòu)成(如圖1所示),一是分布式文件系統(tǒng)HDFS,它在Hadoop中作為最基礎(chǔ)的底層存儲系統(tǒng),是Hadoop的核心組件之一,其主要功能是為收集的數(shù)據(jù)提供分布式存儲。二是分布式計算框架MapReduce,它構(gòu)建于分布式文件系統(tǒng)之上,擁有大規(guī)模并行計算的能力,是Hadoop核心主鍵之一,其功能是對分布式文件系統(tǒng)上的數(shù)據(jù)進行并行計算處理。在Hadoop中,開發(fā)者可通過重寫接口實現(xiàn)自定義分布式文件系統(tǒng),并在分布式文件系統(tǒng)上通過MapReduce對存儲的數(shù)據(jù)進行處理,因此開發(fā)者擁有極大的可擴展性開發(fā)。
1.2 HDFS分布式文件系統(tǒng)
HDFS的架構(gòu)如圖2所示。HDFS主要負責維護Hadoop框架中的分布式文件系統(tǒng),它由一個主節(jié)點(NameNode)和多從節(jié)點(DataNode)共同組成,也被稱為Master/Slave主從結(jié)構(gòu) [2]。NameNode節(jié)點又被稱作管理節(jié)點,作為整個集群的文件管理者維護HDFS的正常運行,并負責文件系統(tǒng)的命名空間和客戶端對數(shù)據(jù)的訪問 [3]。一個集群中存在一個NameNode作為主節(jié)點,還有一個SecondaryNameNode作為輔助節(jié)點在主節(jié)點旁邊,它負責同步檢查點與主節(jié)點之間的數(shù)據(jù)并備份主節(jié)點上的文件系統(tǒng)操作日志和元數(shù)據(jù)。一個集群中可以擁有多個DataNode節(jié)點,也被稱為數(shù)據(jù)節(jié)點,是HDFS重要的組成部分,其功能是用于存放數(shù)據(jù),DataNode節(jié)點與NameNode節(jié)點之間的交互通信是通過心跳機制進行的。HDSF的核心功能是管理每個數(shù)據(jù)節(jié)點,對某一組數(shù)據(jù)進行有效的加工以達到維護系統(tǒng)的目的,對于每一個文件的塊的來源、狀態(tài)數(shù)據(jù)信息和切割情況等都能夠進行詳細的記錄 [4]。
1.3 MapReduce編程架構(gòu)
MapReduce是一種高性能面向大規(guī)模數(shù)據(jù)處理的并行計算框架,它的編程架構(gòu)如圖3所示。MapReduce在處理數(shù)據(jù)時的核心思想是Map(映射)和Reduce(歸約),它在做并行數(shù)據(jù)處理計算任務(wù)時,首先分配任務(wù)到集群的各個不同節(jié)點上,在Map端會先將接收到的任務(wù)做分塊處理,接著對切分成大批量的小任務(wù)單獨處理,然后在Reduce端整合每個小任務(wù)的處理結(jié)果,最后經(jīng)過不斷計算處理之后輸出最終的結(jié)果。MapReduce框架完善的機制可以自動解決任務(wù)調(diào)度、容錯處理、負載均衡等問題,所以開發(fā)者不用擔心在多節(jié)點計算中涉及的這些問題。
2 大數(shù)據(jù)平臺架構(gòu)設(shè)計
高校數(shù)字化校園大數(shù)據(jù)平臺系統(tǒng)架構(gòu)可以分成4個部分(如圖4所示),第一部分是數(shù)字化校園內(nèi)教務(wù)管理系統(tǒng)、財務(wù)管理系統(tǒng)、一卡通管理系統(tǒng)、圖書管理系統(tǒng)、就業(yè)管理系統(tǒng)、食堂管理系統(tǒng)等產(chǎn)生的數(shù)據(jù)源。第二部分是數(shù)據(jù)采集,通過數(shù)據(jù)采集工具對數(shù)據(jù)化校園的數(shù)據(jù)源進行傳輸和分配。第三部分是數(shù)據(jù)處理,這個架構(gòu)中對數(shù)據(jù)的處理可以分為兩個離線數(shù)據(jù)處理和實時數(shù)據(jù)處理兩個部分。第四部分是數(shù)據(jù)展示,實時數(shù)據(jù)處理模塊輸出結(jié)果通過網(wǎng)頁客戶端或者App端展示數(shù)據(jù)實時動態(tài),離線數(shù)據(jù)處理模塊輸出數(shù)據(jù)分析模型,提供師生個體或者群體行為的數(shù)據(jù)分析和行為預測。
基于Hadoop的大數(shù)據(jù)框架如圖5所示,在這個架構(gòu)中,離線數(shù)據(jù)處理部分是由Hadoop集群完成的,實時數(shù)據(jù)處理部分是由Storm實時數(shù)據(jù)處理框架完成的。數(shù)字化校園數(shù)據(jù)源的采集通過Flume工具完成,F(xiàn)lume是由Cloudera提供的一種高可靠、高可用的分布式日志收集系統(tǒng),它支持定制數(shù)據(jù)收集和傳輸?shù)姆绞?。同時,F(xiàn)lume可以對采集到的數(shù)據(jù)進行預處理,并將數(shù)據(jù)傳輸至指定地點,在采集數(shù)據(jù)時可以依據(jù)不同的數(shù)據(jù)處理方式對不同的數(shù)據(jù)源進行采集處理。
Hive是基于Hadoop的數(shù)據(jù)倉庫分析工具,它可以根據(jù)SQL語句在MapReduce實現(xiàn)統(tǒng)計任務(wù)。Impala是應(yīng)用于處理在Hadoop集群中存儲的海量數(shù)據(jù)的MPP(大規(guī)模并行處理)SQL查詢引擎,它實現(xiàn)了一個基于守護進程的分布式架構(gòu),降低了MapReduce方面的延遲,Impala處理任務(wù)的速度比Hive更快,可以通過Impala對海量數(shù)據(jù)處理實現(xiàn)一些復雜查詢的需求,同時Impala的查詢需要在Hive端導入完成。
Storm是一個類似Hadoop的分布式實時數(shù)據(jù)處理框架,能夠很好地完成實時數(shù)據(jù)的處理并實現(xiàn)數(shù)據(jù)可視化。Kafka是一種高吞吐量的分布式消息處理平臺,能夠支持每秒數(shù)百萬消息的吞吐量,完全滿足系統(tǒng)對數(shù)據(jù)傳輸?shù)囊蟆?/p>
Sqoop是用于Hadoop或者Hive與關(guān)系型數(shù)據(jù)庫間數(shù)據(jù)傳輸?shù)墓ぞ?,可以將處理好的?shù)據(jù)轉(zhuǎn)移至數(shù)據(jù)庫中。Mysql數(shù)據(jù)庫作為最后數(shù)據(jù)處理結(jié)果的存儲倉庫,網(wǎng)頁客戶端或者App端可以從數(shù)據(jù)庫中提取數(shù)據(jù)展示出來。
3 大數(shù)據(jù)平臺功能實現(xiàn)
在服務(wù)器上搭建好Hadoop和Storm的環(huán)境,安裝Kafka、Flume、Mysql等相關(guān)軟件,并配置好軟件相關(guān)的配置文件。每臺機器上都有一個Flume agent運行,通過Avro的方式進行數(shù)據(jù)的傳輸,其中一個Flume agent由多個Sinks和Sources組成,而這兩者連接是以Channel作為通道的。
基于Hadoop的大數(shù)據(jù)框架數(shù)據(jù)處理流程如圖6所示,包括數(shù)據(jù)采集模塊、離線數(shù)據(jù)處理模塊、實時數(shù)據(jù)處理模塊、數(shù)據(jù)存儲分析模塊、數(shù)據(jù)展示模塊。
數(shù)據(jù)采集模塊,利用分布式日志采集系統(tǒng)Flume從數(shù)字化校園系統(tǒng)采集離線數(shù)據(jù)和實時數(shù)據(jù),Source從數(shù)字化校園系統(tǒng)采集數(shù)據(jù)后傳輸?shù)紺hannel,Channel收集的數(shù)據(jù)通過Sink輸出。
離線數(shù)據(jù)處理模塊,采集的離線數(shù)據(jù)經(jīng)過SinK輸出上傳到HDFS分布式文件系統(tǒng)上,在Hadoop集群中通過Map-Reduce計算框架對存儲在HDFS分布式系統(tǒng)上的離線數(shù)據(jù)進行預處理,預處理之后的離線數(shù)據(jù)傳輸至Hive數(shù)據(jù)倉庫中存儲。
實時數(shù)據(jù)處理模塊,采集的實時數(shù)據(jù)經(jīng)過SinK輸出上傳到Kafka上,Storm實時計算框架從Kafa中提取出實時數(shù)據(jù)并進行預處理,預處理之后的數(shù)據(jù)傳送到Mysql數(shù)據(jù)庫中進行分類存儲。
數(shù)據(jù)的預處理主要包括數(shù)據(jù)清洗、格式整理、濾除臟數(shù)據(jù)等過程。在Eclipse軟件上,通過Java編程語言編寫相關(guān)數(shù)據(jù)預處理程序,完成后打包放到Linux系統(tǒng)中運行。
數(shù)據(jù)存儲分析模塊,Hive數(shù)據(jù)倉庫中可以提供實時查詢功能,為更好地管理調(diào)度海量任務(wù)單元,可以在項目中增添一個Ooize任務(wù)調(diào)度模塊,在Hive數(shù)據(jù)倉庫中建立相應(yīng)的模型表以滿足離線數(shù)據(jù)處理的需求,同時利用Impala工具實現(xiàn)對Hive中的數(shù)據(jù)實現(xiàn)復雜查詢的功能。
數(shù)據(jù)展示模塊,通過Sqoop工具將Hive數(shù)據(jù)倉庫中處理完的數(shù)據(jù)結(jié)構(gòu)傳送至Mysql數(shù)據(jù)庫中,經(jīng)過處理之后的離線數(shù)據(jù)和實時數(shù)據(jù)都會傳送至Mysql數(shù)據(jù)庫中進行分類存儲。網(wǎng)頁客戶端或者App端訪問Mysql數(shù)據(jù)庫中提取數(shù)據(jù)通過界面展示出來,展示的實時數(shù)據(jù)可以提供師生查詢個人或群體在數(shù)字化校園上最新的數(shù)據(jù)動態(tài),展示的離線數(shù)據(jù)則為師生提供行為分析預警、學期考核評定、就業(yè)分析預測等信息。
4 結(jié)語
在當今全球大數(shù)據(jù)時代的背景下,數(shù)據(jù)已經(jīng)成為不可或缺的寶貴資源,如果能利用好這些資源就能給我們帶來巨大的好處。高校推進大數(shù)據(jù)技術(shù)的發(fā)展,從海量數(shù)據(jù)資源中挖掘出有價值信息,不僅能改善師生的學習和生活服務(wù),提升部門間協(xié)同工作,實現(xiàn)數(shù)據(jù)資源有效整合和共享,也為高校未來的發(fā)展提供更合理的規(guī)劃和定位。本文根據(jù)高校信息化管理現(xiàn)狀,設(shè)計了基于Hadoop的大數(shù)據(jù)處理框架,研究了大數(shù)據(jù)平臺在高校數(shù)字化校園的應(yīng)用,對涉及相關(guān)的技術(shù)功能和實現(xiàn)流程做了介紹。希望通過大數(shù)據(jù)技術(shù)充分挖掘整合數(shù)據(jù)資源,為高校師生進一步提升信息化管理服務(wù)質(zhì)量,為高校未來的發(fā)展變革提供方向。
參 考 文 獻
[1]陳娜姍.基于Hadoop的用戶行為分析方法的應(yīng)用研究[D].南京:南京郵電大學,2016.
[2]Dean Jeffery,Ghemawat Sanjay.Map Redece:si-
mplified data processing on large clusters[J].Communications of the ACM,2008,51(1):107-113.
[3]Leiqing Shi,F(xiàn)ei Gao,Zhengping Jin.Novel design of the model of distributed namenode in HDFS[C].IEEE International Conference on Cloud Computing and Intelligence Systems,2012:310-330.
[4]李莉.基于云計算平臺Hadoop的并行k-means聚類算法設(shè)計研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2017(12):46-47.