王建軍,張英成,戰 非,趙 侃
(西安航空學院 網絡信息中心,陜西 西安 710077)
在全國教育的第10個五年計劃中,教育信息化被列入國家的重點建設工程。國內一些重點高校已經率先完成了數字化校園建設,進入了智慧化校園建設階段。2018年4月25日,教育部《教育信息化2.0行動計劃》的印發,智慧校園建設進入了快車道。智慧化校園建設對高校信息化建設與發展、信息資源的共享與利用提供了新的契機,同時對高校信息資源服務提出了新的挑戰[1-2]。為了解決智慧校園中信息資源來源的問題,本文根據Hadoop相關技術,結合高校信息資源現狀,對高校信息資源從傳統存儲模式到云平臺的導入進行研究。
目前高校的信息資源的管理與使用仍存在如下問題。
高校信息資源來源繁雜,數據類型較多。既有日常教學過程數據,也有實驗過程中觀察記錄數據和設備收集數據。由于數據產生與采集的方式以及各部門信息化應用程度不同,信息資源的存儲方式多種多樣。但是到目前為止,國內外對信息資源的存儲管理沒有統一的標準規范[3]。
受高校信息化建設水平限制,部分高校的信息系統關鍵信息量沒有達到大數據的量級。但是,經過多年積累下來的教學活動紙質文檔、科研過程數據、學生日常活動數據已經達到海量級別,而且呈指數級形式增長[4]。在智慧化校園建設過程中,對這些信息資源的挖掘與分析有助于獲取更加準確的預警、預測結果。
高校信息資源的存儲一般由各個業務部門負責,數據共享實現困難。而且在資料遷移過程中數據丟失嚴重,這樣對信息資源造成了極大的浪費,對高校的發展造成了巨大的損失[5]。通過基于Hadoop的云平臺對現有信息資源及時整合與存儲,既有利于防止了信息資源的意外丟失,又有利于信息資源的有效共享使用。
基于高校信息資源管理現狀,本文針對傳統數據庫文件提出不同的導入方式,以招生就業數據為例進行描述。
存儲于傳統數據庫中的高校信息資源可以直接導入基于Hadoop平臺的HBase分布式存儲系統,HBase存儲系統中的信息資源也可直接導出到傳統的關系數據庫中[6]。本文通過Sqoop工具完成傳統關系數據庫中的高校信息資源到基于HBase分布式存儲系統的導入工作[7]。
Sqoop完成高校信息資源到基于HBase的分布式存儲系統的方法是:從傳統高校信息資源數據庫中獲取元數據信息(schema,table, field, field type),把導入功能轉換為只有Map的MapReduce作業,在MapReduce中有很多Map,每個Map讀一片信息資源數據,進而并行地完成信息資源的拷貝[8]。為了實現傳統關系數據庫中的高校信息資源標準化導入基于HBase的分布數據庫中,在導入之前應確定兩個數據表之間的關聯關系[9]。以招生數據導入為例,傳統關系數據庫中的“考生基本信息表”對應著HBase分布式招生信息表中的一個列族—“考生基本信息”;傳統關系數據庫中考生基本信息表中的數據與HBase分布式招生信息表中連續的考生基本信息行數據對應;傳統關系數據庫中的考生基本信息表的行、列值與HBase分布式招生信息表中的行、列對應;傳統關系數據庫中的考生基本信息表的主鍵值作為HBase分布式招生信息表中行鍵值的組成部分;傳統關系數據庫中考生基本信息表的“參數列名+列類型”對應著HBase分布式招生信息表中考生基本信息的列名[10]。這些數據關聯關系如表1所示。
在設計完成傳統關系型考生基本信息表與基于HBase的分布式招生信息表數據的對應關系之后,從傳統關系型考生基本信息表中將數據導入基于HBase的分布式招生信息表的過程如圖1所示。首先,將傳統教務教學數據庫的訪問地址、數據庫名稱、數據庫密碼值、考生基本信息表名、導入過程需要啟動的Map數量、基于HBase的分布式招生信息表名以及主鍵值等寫入Sqoop的參數表中;然后,判斷表中數據是否符合規范;最后,執行導入數據任務,所有數據都正確導入后,導入任務完成。

表1 傳統考生基本信息表與基于HBase的招生信息表數據關聯關系
本文結合高校信息資源的特點,提出了基于Hadoop集群的分布式數據導入方案。下一步研究方向:進一步研究基于HBase的海量高校信息資源數據的存儲,以提高高校信息資源的存儲效率;其次,結合Hadoop生態系統中的MapReduce,Hive,Spark等技術對信息資源數據進一步挖掘分析,為高校智慧化校園建設服務。

圖1 應用Sqoop實現關系數據庫數導入HBase的流程