連壯
廈門城市職業(yè)學(xué)院 福建 廈門 361008
就業(yè)是民生之本,是人民改善生活的基本前提和基本途徑。政府工作報告指出,“做好高校畢業(yè)生、退役軍人、農(nóng)民工等重點群體就業(yè)工作。”就業(yè)是最大的民生,是“六穩(wěn)”“六?!敝住?021屆全國高校畢業(yè)生人數(shù)將達(dá)909萬人,再創(chuàng)歷史新高,加上往屆待就業(yè)畢業(yè)生和歸國留學(xué)生,實際需要就業(yè)人數(shù)預(yù)計超1000萬人。但大學(xué)生就業(yè)的結(jié)構(gòu)性矛盾仍然存在,畢業(yè)生就業(yè)難和用人單位招工難現(xiàn)象并存,一方面高校畢業(yè)生就業(yè)期望值越來越高,另一方面相關(guān)用人單位難以招到合適的人才[1]。
大數(shù)據(jù)已成為IT界最炙手可熱的名詞,在全世界引領(lǐng)新一輪數(shù)據(jù)技術(shù)革命的浪潮。在各方面深刻影響著當(dāng)今社會。大數(shù)據(jù)是指無法在一定時間范圍內(nèi)用常規(guī)軟件工具進(jìn)行捕捉、管理和處理的數(shù)據(jù)集合,是需要新處理模式才能處理具有更強(qiáng)決策力、洞察發(fā)現(xiàn)力和流程優(yōu)化能力的海量、高增長率和多樣化的信息資產(chǎn)[2]。近年來互聯(lián)網(wǎng)數(shù)據(jù)呈現(xiàn)出爆炸式指數(shù)級的增長,招聘網(wǎng)站的崗位數(shù)據(jù)也不例外,大部分的用人單位都是通過互聯(lián)網(wǎng)招聘網(wǎng)站發(fā)布單位的招聘崗位需求。這些海量的招聘崗位信息要如何采集、存儲?如何處理計算處理?如何從繁多招聘崗位數(shù)據(jù)中統(tǒng)計分析并挖掘出有用的信息?如何對信息進(jìn)行展示?解決這些問題不但有助于解決大學(xué)生等就業(yè)群體就業(yè)難的問題,而且也有助于就業(yè)群體高質(zhì)量就業(yè),有助于高校改進(jìn)課程內(nèi)容,培養(yǎng)出更多貼合社會需要的人才。互聯(lián)網(wǎng)上的招聘崗位信息多為非結(jié)構(gòu)化的數(shù)據(jù),筆者采用Hadoop為核心的大數(shù)據(jù)技術(shù)從大數(shù)據(jù)平臺構(gòu)建、采集崗位信息、數(shù)據(jù)清洗及挖掘、大數(shù)據(jù)可視化展示等方面對上述問題進(jìn)行應(yīng)用研究。
Hadoop是一個開源軟件框架,可編寫和運行分布式應(yīng)用,處理大規(guī)模數(shù)據(jù)。Hadoop 框架的核心是HDFS和Map Reduce。Ambari是基于Web的Apache Hadoop集群管理工具,提供對集群部署、監(jiān)控和管理。同樣也支持對HDFS、Hadoop Map Reduce、Hive、Mahout、HBase、ZooKeeper、Oozie、Pig以及Sqoop等工具的創(chuàng)建和管理。它提供了一個查看集群工作狀態(tài)的控制面板,可以通過控制面板來瀏覽Hadoop應(yīng)用程序的當(dāng)前狀態(tài)以及遇到的錯誤[2]。筆者采用3臺CentOS7服務(wù)器通過Ambari構(gòu)建Hadoop分布式集群,從而構(gòu)建出大數(shù)據(jù)平臺。其中一臺服務(wù)器為master節(jié)點,另外兩臺服務(wù)器為slave節(jié)點,并且可以通過動態(tài)添加的方式擴(kuò)展節(jié)點。Ambari的圖形界面也非常有助于平臺管理員去管理維護(hù)和監(jiān)控Hadoop集群。如圖1所示。

圖1 Ambari部署、監(jiān)控、管理Hadoop集群
互聯(lián)網(wǎng)上的招聘崗位信息眾多,筆者使用java編程語言,利用Web Magic開源靈活的Java爬蟲框架,快速開發(fā)出一個高效、易維護(hù)的爬蟲[3]。借助Web Magic 爬蟲框架從招聘網(wǎng)站采集就業(yè)崗位數(shù)據(jù),配置爬蟲數(shù)據(jù)萃取表達(dá)式,對采集到的HTML內(nèi)容提取出csv 格式,數(shù)據(jù)內(nèi)容包括崗位、公司、月薪、福利、職位描述、職位要求等。對采集數(shù)據(jù)進(jìn)行簡單的篩選,保留有價值的信息。HDFS是一個分布式的海量文件存儲管理系統(tǒng),可以將超大文件分布式存儲在不同服務(wù)器節(jié)點上,筆者將采集的崗位數(shù)據(jù)信息存儲到Ambari大數(shù)據(jù)平臺的HDFS中。
由于招聘網(wǎng)站上招聘信息編輯工作是由各個公司自主完成發(fā)布的,因此存在著數(shù)據(jù)信息的多樣性,即使在抓取環(huán)節(jié)過濾掉了大量的“垃圾”崗位信息,依然存在各種各樣的崗位名稱表述方式。因此采用Map Reduce計算框架,定制個性化的清洗規(guī)則(例如規(guī)范化崗位名稱等),高效地對大量崗位文本信息進(jìn)行處理。Hadoop Map Reduce是一個軟件框架,程序員可以通過該框架將應(yīng)用程序分布運行在不同的服務(wù)器節(jié)點上,并以可靠的、具有容錯能力的方式并行處理海量的崗位數(shù)據(jù)集。
Hive是Hadoop項目中一個重要的子項目,也是Apache項目基金會下的一個開源項目。Apache Hive將數(shù)據(jù)存儲在HDFS文件系統(tǒng)中,并在該文件系統(tǒng)中進(jìn)行大數(shù)據(jù)分析。Hive是基于Map Reduce計算框架的,可以使程序員采用和SQL相似的操作,將類SQL語言轉(zhuǎn)換為Map Reduce任務(wù)進(jìn)行運行,從而快速實現(xiàn)Map Reduce統(tǒng)計,不需要開發(fā)專門的Map Reduce應(yīng)用[2]。通過Hive使用Java語句和類SQL語句可以對崗位的地點、發(fā)布時間、薪資待遇、學(xué)歷等進(jìn)行處理并統(tǒng)計出相應(yīng)的結(jié)果,這些結(jié)果可以給就業(yè)群體提供幫助,也可以給高校提供參考。Hive讓有數(shù)據(jù)庫基礎(chǔ)的開發(fā)者不需要了解底層的Map Reduce過程,就可以讀寫并統(tǒng)計大量的崗位數(shù)據(jù)。
通過上述對崗位數(shù)據(jù)統(tǒng)計后,還可以進(jìn)一步地對數(shù)據(jù)進(jìn)行挖掘,筆者采用K-means 文本聚類的方法來進(jìn)行數(shù)據(jù)挖掘出不同崗位對應(yīng)的技能,利用Mahout自帶的方法將文本信息轉(zhuǎn)換為<詞ID,詞頻>的向量形式[2],通過聚類的方式可以挖掘不同的崗位所需要的技能點和技能點對崗位的重要性程度的量化。通過學(xué)生的技能成績和崗位分析得到的技能權(quán)重進(jìn)行相似度匹配,從而給不同的學(xué)生個性化推薦不同的崗位。
在對崗位數(shù)據(jù)分析處理、統(tǒng)計挖掘之后,需要借助數(shù)據(jù)可視化工具將分析結(jié)果直觀地展現(xiàn)出來??梢赃x用電子表格(Excel)和ECharts來進(jìn)行崗位數(shù)據(jù)的可視化展示。Excel 是微軟公司開發(fā)的辦公套裝軟件的組成部分,它可以對各種數(shù)據(jù)進(jìn)行處理、統(tǒng)計分析和輔助決策操作,廣泛地應(yīng)用于眾多領(lǐng)域,具有簡單易用的特點。ECharts是一個使用 JavaScript 實現(xiàn)的開源可視化庫,可以流暢地運行在PC和移動設(shè)備上,兼容當(dāng)前絕大部分瀏覽器(IE8/9/10/11,Chrome,F(xiàn)irefox,Safari等)。底層依賴矢量圖形庫 ZRender,提供直觀,交互豐富,可高度個性化定制的數(shù)據(jù)可視化圖表[4]。ECharts 提供了常規(guī)的柱狀圖、折線圖、餅圖、散點圖及地理數(shù)據(jù)可視化的地圖等豐富的圖表,可以對崗位數(shù)據(jù)進(jìn)行可視化操作。如圖2所示。

圖2 Echarts對崗位數(shù)據(jù)可視化展示
本文闡述了通過Ambari構(gòu)建Hadoop大數(shù)據(jù)平臺、使用Web Magic采集招聘崗位數(shù)據(jù),使用Hadoop的組件HDFS實現(xiàn)崗位招聘數(shù)據(jù)的海量存儲、Map Reduce實現(xiàn)海量招聘數(shù)據(jù)的計算處理、Hive實現(xiàn)類SQL語句對海量招聘崗位的統(tǒng)計、通過Mahout的聚類和相似度計算實現(xiàn)崗位數(shù)據(jù)的挖掘和個性推薦,使用ECharts對崗位數(shù)據(jù)進(jìn)行可視化展示。全面說明了大數(shù)據(jù)技術(shù)在招聘崗位中應(yīng)用,相信通過大數(shù)據(jù)技術(shù)可以在一定程度上幫助解決就業(yè)難的問題,從而讓大學(xué)生等群體實現(xiàn)高質(zhì)量就業(yè)。