◇內江職業技術學院 劉 科 吳莉萍 陳 瑤
畢業生的就業率,對學校來說是檢驗學院的人才培養計劃是否符合市場需求的一大標準,為更好的培養學生的職業能力,提升畢業生就業率,學院的管理者要通過大數據分析,獲取就業市場的反饋,以達到提升畢業生競爭力和就業率的目的。
大學生就業問題是國家重點關注的問題,事關大學生的就業需求和社會的穩定和諧。隨著國家的大學生招生規模的擴大,錄取人數從2000年的375萬到現在已經突破千萬大關,這意味著每年國家和社會需要提供對等的崗位數量以滿足畢業生的就業需求。在大學生畢業離校走向崗位的過程中,就業崗位信息的采集與推送就已經成為學校必須為學生提供的一項基礎服務。
近年來,線上招聘方式因其從覆蓋面、時效性、成本低等方面,都優于線下的招聘方式,逐步被廣大的畢業生作為求職的首選方式。招聘網站對用戶也提供了崗位檢索的 服務,用戶可以快速進行檢索,招聘網站的多元化會導致學生在獲取招聘信息的時候無所適從。線上每天更新的崗位招聘信息可達幾十萬條,學生并不具備從這種海量數據中找尋有效信息的能力。
要從海量的數據中提取出有效的信息,比如學生關系的薪資、地點、工作內容、崗位技能需求等,這個時候就需要大數據采集與分析技術,通過對海量的數據進行采集和分析,并如大浪淘金一樣將最真實、有效的高質量招聘信息提供給最合適的用戶,就是本項目需要研究和實現的內容。
平臺使用Java語言開發,可運行在Linux和Windows服務器上。平臺支持各種主流關系數據庫(如Oracle、MySQL、SQL server等),支持各種平面文件數據庫,支持大數據集群連接。
平臺基于SOA架構和RESTful風格,采用Hadoop分布式存儲方式,支持分布式文件系統、分布式鍵值系統、分布式表格系統以及分布式數據庫等典型的分布式存儲與管理系統,支持HIVE、HBASE、HDFS、spark等大數據技術。能滿足OLTP、OLAP和大數據挖掘的編程開發和使用效率需要。支持硬盤、SSD、內存分層存儲,同時平臺提供高效的數據分布和負載均衡算法確保數據的高可用性。
根據數據的來源,可分為內部數據和外部數據兩大類。
內部數據包含校內招聘系統的崗位信息,數據庫為SQL server,通過數據采集可以獲取以下數據。由于是內部系統,由系統創建一個數據庫查詢用戶,并開發視圖查詢權限,即可調用數據采集接口進行采集。內部數據的特點是準備率高,針對性強,所有的崗位信息都是通過在學院招聘系統實名注冊的公司發布的,而公司對學院及學生的情況都有一定的了解,基本不會出現與學院畢業生不適配的崗位信息。

圖1 校內招聘系統崗位信息
外部數據來源方式較多,但最主要的來源還是基于網頁,通過網頁獲取的數據屬于非結構化數據,在使用爬蟲工具獲取數的同時,要對數據進行清洗,以某招聘網站為例,崗位的頁面效果如圖。

圖2 招聘網站崗位信息
而要獲取崗位名稱、薪資、關鍵字、崗位介紹等內容,需要從下面爬蟲工具獲取的HTML代碼,針對每個需要采集的字段,設定不同的采集規則。并且不同的網站的代碼結構是完全不同的,這代表著每個網站都需要重復一次上述的配置工作。

表1 招聘網站部分HTML代碼
崗位大數據其主要來源為外部數據,由于其數據量大,每天都在發布新的崗位信息,使用傳統的關系數據庫來存儲數據的話,在后期檢索、分析統計的時候效率會很低,所以需要搭建分布式大數據平臺進行存儲,本項目采用目前主流的Hadoop分布式系統,能大大降低應用開發難點和減少工作量。Hadoop分布式系統采用其特有的HDFS文件系統進行數據存儲,采用了主從(Master/Slave)結構模型,一個HDFS集群是由一個NameNode和若干個DataNode組成的。其中NameNode作為主服務器,管理文件系統的命名空間和客戶端對文件的訪問操作,集群中的DataNode管理存儲的數據。
針對傳統的關系型數據庫,可使用常用的數據集成工具,如ODI,kettle等方式進行采集和轉換。
針對網頁形式的職位數據,需要使用爬蟲工具進行數據獲取與清洗,本項目使用Java的IDE軟件Eclipse進行開發,使用HttpClient類和Hadoop框架。通過使用HttpClient類主要實現以下功能:
(1)實現對目前主流瀏覽器(如谷歌瀏覽器、火狐瀏覽器、IE瀏覽器)的UA(用戶代理)的模擬。
(2)實現對普通用戶訪問網站操作行為的模擬,可設置爬取頻率,主動爬取其他鏈接等。
(3)關聯頁面地址獲取,可獲取當前頁面內容中的上一條、下一條、推薦崗位等鏈接地址。
(4)已采集的頁面地址記錄,對已采集的頁面地址錄入數據庫,每次采集的時候進行比對,已采集的頁面不再進行爬取。
(5)對采集的頁面進行數據清洗,將有效數據通過Hadoop系統進行存儲。
崗位大數據分析的最終目的,至少要實現以下兩個目標:將崗位需求的分析結果提供給領導者和將合適的崗位推送給合適的學生,結合這兩個目標,我們需要做到的就是數據的統計分析與精準匹配。
大數據的統計與分析的結果要提供給管理者,管理者根據崗位的數量、職業技能的需求等方面,可以將分析結果納入專業建設和課程建設的內容,以達到人才培養緊隨市場需求、提高就業率的目的。針對管理者關心的內容,我們做了崗位需求分布、崗位歷年需求變化、區域就業分布圖等。
以區域就業分布為例,我院畢業生大部分在川內選擇就業崗位,所以我們在做分析的時候,將就業的區域劃分為兩個區域,以避免因分析樣本值差距過大導致失去分析意義。通過查詢語句(示例:select jyqy,count(jyqy) from bysjyb where jyqy like'四川省%' and bynd=2020'group by jyqy order by count(jyqy) desc)得出分布數據,并形成可視化的圖表。

圖3 2020年四川省就業人數地區分布圖

圖4 2020年四川省外就業人數地區分布圖
就業崗位的精準推送,著重于精準兩字,要實現精準的推送,就是要做到為畢業生推送適合他需求的崗位,比如薪資、保險、假期、工作地點等都很容易進行檢索。但還不夠,招聘和就業是雙向選擇,畢業生在選擇單位的同時,單位也在選擇畢業生,而崗位最需要的是適合崗位需求能力的學生,學生的能力直接體現在專業上,比如軟件專業,至少應該掌握Java、C++、PHP等語言的一種。
根據專業的培養計劃,我們引入一個關鍵詞匹配的功能,將專業培養計劃具體成不同的關鍵字,如軟件專業,根據專業培養計劃可提取出程序設計、網頁制作、Java、數據庫等多種符合崗位能力的關鍵字,然后再根據崗位需求進行匹配,將匹配度高的崗位進行推送,以達到精準的目的。

表2 崗位需求與專業能力匹配
通過對招聘大數據的采集與分析,我們進一步將分析結果應用于實際,讓學生可以提前知曉自己所在專業的職業技能需求、薪資水平,可針對職業技能需求安排職業規劃并安排進行學習;讓學生在求職時能過濾掉大量無用的招聘信息直達所需;讓管理者根據招聘市場的需求調整學生培養方案。