范廣慧 王威 王松 李昂



摘要:近年來,我國大數據技術發展迅速,并在很多方面得到應用,數據的價值越來越受到重視。高校在教學過程中積累了大量的學生數據,該進一步思考,如何讓這些數據轉變為提高學生水平的寶貴資源。本文在搭建Hadoop大數據平臺基礎上,對學生的生活數據、圖書借閱數據、成績數據等在內的多種數據,從多個角度去分析,刻畫學生的行為和偏好習慣等,為學生進行畫像,有助于學生對自己有一個全面客觀的定位,也有助于學生管理部門精確管理和幫助學生,提高學生管理水平。
關鍵詞:大數據;Hadoop;學生畫像;數據分析
中圖分類號:TP311.5 文獻標識碼:A
隨著互聯網、大數據和人工智能技術的飛速發展,各行各業積累的數據被看作寶貴的礦藏,可從中挖掘出寶貴的信息資源,高校的學生數據也不例外,學生的各種生活數據(如餐飲、購物、上網時長、宿舍衛生分數等)、圖書借閱數據、成績數據等在內的多種數據,從多個角度去分析,刻畫學生的行為和偏好習慣等,為學生進行畫像,有助于學生對自己有一個全面客觀的定位,也有助于學生管理部門精確管理和幫助學生,提高學生培養水平。
1 基于大數據的學生畫像系統設計
1.1 學生畫像系統功能需求
基于大數據的學生畫像系統通過網絡在Web網頁上進行訪問,架構分為三層:客戶機—服務器—數據庫模式,學生通過Web網頁登錄到自己的系統中,通過辨別每位同學的信息,程序自動從數據庫中讀取數據并實時通過程序設計生成該學生的各項數據如消費、學習、生活等,并根據該學生的數據生成年度或學期總結報告并且給予建議和意見,例如學生在借閱圖書方面非常勤奮,就會對其進行鼓勵和激勵,若是學生在學業成績上有多門掛科,就會對其進行學業警示并給予學習建議[1]。通過本系統希望可以為學生們提供一個集學業統計、信息查詢和年終總結等多功能于一體的學生畫像系統。
1.2 學生畫像系統性能需求
1.2.1 海量數據的存儲空間需求
因為需要滿足大量的存儲需求和調用分析處理,所以選擇使用MySQL數據庫對數據進行存儲,MySQL是當今市面上比較流行的關系型數據庫,用python程序對MySQL進行調用較為方便快捷。數據需要進入hive中分析處理,可以直接使用sqoop工具將分析處理好的數據表傳輸到MySQL中,或是將MySQL中需要分析的表通過sqoop導入到hive中進行分析。
1.2.2 分布式集群對海量數據處理需求
對海量數據進行處理,需要使用分布式處理,即需要配置一組完全分布式服務器集群。完全分布式服務器集群需要部署許多組件,如hive、flume、zookeeper、kafka、sqoop、scala&spark、hbase等。工作時需要這些組件一起協同配合處理并對海量數據即TB級數據進行處理,保證時間上的相應速度以應對網頁的刷新速度。
1.2.3 前后端框架使用需求
為滿足Web網頁設計需要,我們需要使用前端Bootstrap框架對整個學生畫像系統在前端的展示進行設計,Bootstrap是基于HTML、CSS、JAVASCRIPT的,它簡潔靈活,使得Web開發更加快捷。Bootstrap框架構建了學生基本信息區域、學生數據統計查詢區域、學生年終總結與建議區域,并將這些區域與經過數據分析處理產生的可視化圖表進行網狀結構的混排。
1.2.4 后期維護與更新迭代需求
在滿足三層體系架構及硬件及軟件需求后,大致的學生畫像系統的功能就完成了。但在后期需要對服務器集群進行運行維護,需要穩定性更好的性能更強的計算機組成集群。并且在滿足基本需求后可以先上線,再對功能進行補充,補充過后進行迭代。如對數據庫的升級、對系統代碼的重構優化等,這些需求都需要滿足。
1.3 學生畫像系統數據需求
程序數據是系統的靈魂,系統需要大量的數據對個人信息進行完善和統計,如對消費金額、學習成績等進行統計并分析,實時處理出針對個人的信息分析數據。數據分為學生基本數據、學生課程成績數據、學生各個月份的各個種類消費數據、學生宿舍衛生的數據等。數據通過Excel表或是csv文件形式匯總,通過程序讀出并寫入到數據庫,數據也因為數據類型分為int、float、double等類型,由于數據長度不固定,在MySQL中建數據表時,將整體長度設為100,以防發生存儲數據庫異常。
在數據收集的過程中不可避免地會出現如缺失值、異常數據等不正常的數據,我們稱之為臟數據,對于臟數據,我們的解決辦法是在數據分析之前先對其進行數據清洗的操作,通過數據清洗和數據格式化將所有數據源轉換為格式化的數據。數據清洗是整個數據分析過程中不可缺少的一個環節,其結果質量直接關系到模型效果和最終結論。在實際操作中,數據清洗通常會占據分析過程的50%~80%的工作量,所以它也是整個畫像系統可以運行起來的關鍵環節,需要我們嚴格設置數據格式。
1.4 學生畫像系統設計原則
1.4.1 簡約原則
大自然所遵循的簡約性、精準性、合理性與有效性創造了我們所在的物理世界。大數據處理中,也需要遵循簡約原則,運用這些規約方法,就可以獲取可靠數據,減少數據集規模,提高數據抽象程度,提升數據挖掘效率,使之在實際工作中,可以根據需要選用具體的分析數據和合適的處理方法,以達到操作上的簡單、簡潔、簡約和高效[2]。
1.4.2 明確性原則
每個分析都有結論,而且結論一定要明確,如果沒有明確的結論那分析就不叫分析了,也失去了它本身的意義,因為本來就是要去尋找或者印證一個結論才會去做分析的。
1.4.3 數據可靠原則
好的分析一定要基于可靠的數據源,其實很多時候收集數據會占據更多的時間,包括規劃定義數據、協調數據上報、讓開發人員提取正確的數據或者建立良好的數據體系平臺,最后才在收集的正確數據基礎上做分析,既然一切都是為了找到正確的結論,那么就要保證收集到的數據的正確性,否則將會誤導別人。
1.4.4 圖表化原則
數據分析報告盡量圖表化,用圖表代替大量堆砌的數字會有助于人們更形象更直觀地看清楚問題和結論,當然,圖表也不要太多,過多的圖表一樣會讓人無所適從。
1.4.5 邏輯性原則
好的分析報告一定要有邏輯性,通常要遵照:發現問題;總結問題原因;解決問題,這樣一個流程。邏輯性強的分析報告也容易讓人接受。分析結論也一定要基于緊密嚴謹的數據分析推導過程,不要有猜測性的結論,一定要有邏輯性。
1.4.6 實用性原則
數據分析報告的編制過程一定要謹慎,體現在基礎數據須要真實完整,分析過程須要科學合理全面,分析結果可靠,建議內容實事求是(圖1)。
2 基于大數據的學生畫像系統實現
2.1 系統功能模塊設計流程圖
根據系統目標和功能分析,基于大數據的學生畫像系統應在邏輯流程圖下實現整個系統的功能(圖2)。
2.2 三層體系結構設計
經調研和觀察發現,基于大數據的學生畫像系統需要很多功能模塊實現,因此我們將學生畫像系統分解成不同的功能模塊,這些功能模塊又可以大致分為三層體系結構[3]。
2.2.1 前臺Web網站設計
(1)學生登錄:學生登陸自己的賬號,通過自己的賬號查詢學業成績、宿舍考勤衛生成績、學習生活情況等。
(2)成績查詢顯示:通過表格的形式顯示出學生想要的課程成績、宿舍衛生成績,并顯示出學生的基本信息。
(3)圖表化顯示:除了基本的成績顯示、信息顯示外,占較大部分的就是圖表化顯示了,通過直觀的圖表顯示,且是動態圖表,學生可以通過鼠標放置在某一項的方式查看自己的數據占比,再通過圖表說明學生的畫像數據。
2.2.2 后端程序設計
(1)學生數據清洗:清洗采集來的數據,將一些臟數據清除出去,包括檢查數據一致性、處理無效值和缺失值等。數據清洗工作是數據分析工作中不可缺少的步驟,如不進行數據清洗,數據分析的結果準確率會變得極低。
(2)學生畫像生成:通過文字加數據的形式生成學生畫像,根據各種圖表和數據對每個學生進行個性化分析,并提出針對性意見。
(3)前后端交換數據:使用Flask和Ajax框架對前后端通信進行支持,使用這些框架可以很好地形成三層即前臺后臺和數據庫體系。
2.2.3 大數據處理平臺集群搭建
(1)集群搭建:搭建以hadoop為主體的多種不同功能組件的大數據處理平臺集群,使用完全分布式方式搭建,可以通過mapreduce或spark處理TB級數據。
(2)MySQL與hive部署:MySQL與hive也部署到集群中,方便通信和互相傳輸數據,以此形成三層體系結構。
2.3 系統功能模塊設計實現效果
安裝部署并配置一個hadoop服務器集群,需要一臺master主服務器和兩臺slave從服務器。配置部署完成之后,使用命令:hadoop-demons.sh start all命令來啟動所有節點,即完成完全分布式集群的啟動。sqoop工具用來對mysql、hive、hbase之間的數據表的導入導出。這樣所有組件就啟動完成了,通過使用hadoop這個平臺的強大的大數據處理技術,我們可以能夠在節點之間動態地移動數據,并保證各個節點的動態平衡,因此處理速度非常快,這樣才可以處理海量的任務數據。
數據讀取使用DataFrame中的read_excel將本地的Excel文件讀取到程序中,并轉換成DataFrame數據,使用rank函數求出各個同學圖書借閱次數、圖書館出入次數、學習通訪問次數和學習通訪問天數的排名。
2.3.1 “生活主題”數據分析
通過分析日常消費、生活數據,并對其進行分析,因人而異提出不同的建議和警示,以便于學生修正自己的行為,實現完善和提升(圖3)。
2.3.2 “學習主題”數據分析
根據學生的“學習主題”數據生成年度或學期總結報告,如學生在借閱圖書方面非常勤奮,就會對其進行鼓勵和激勵,若是學生在學業成績上有多門掛科,就會對其進行學業警示并給予學習建議(圖4)。
3 結論
通過高校收集的學生信息數據,實現對學生生活、消費、成績信息的記錄及對學生畫像的刻畫分析,學生可以查看數據報告,同步驅動學生進行提升自我,即通過畫像的刻畫了解到自己的學業水平及各方面特長及興趣愛好處,了解自己在學生群里中的位置,同時幫助學生管理部門,準確掌握學生的生活學習方面數據,實現因材施教和精確幫助,提高學生培養水平。
參考文獻
[1] 莫劉劉.基于高校學籍數據分析的學生畫像初探[J].現代信息科技,2018(6):32-33.
[2] 王洋,丁志剛,鄭樹泉,等.一種用戶畫像系統的設計與實現[J].計算機應用與軟件,2018(3):8-14.
[3] 李光耀,宋文廣,謝艷晴.智慧校園學生畫像方法研究[J].現代電子技術,2018(6):162-167.