梁烜彰



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