◆葉惠仙
(福建農業職業技術學院福建3500007)
在大學畢業生數量逐年增加,就業形勢較嚴峻的當下,需建立與市場相協調的人才培養機制,特別是IT崗位人才的市場需求機制。IT行業在未來幾年還將產生數百萬個新的工作崗位,發展空間極其廣闊,選擇IT行業的人也越來越多。對于選擇哪個專業,今后會有更好的工作和發展前景,是高考學子及應聘人員選擇的困惑。建立大數據平臺分析人才需求,更深入了解行業招聘的情況,通過對招聘網站用人需求及薪資分析,了解行業招聘的情況,為高考學子及相關業務部拓展市場提供數據參考。
建設大數據平臺是希望通過大數據處理提升網站人才分析功能,更深入了解行業招聘的信息,為相關業務部門拓展市場提供方向,所有的業務分析都基于大數據平臺,因此需要熟悉掌握大數據平臺的搭建。完成Hadoop全分布部署,Hive組件的安裝等,完成數據在Hadoop平臺離線清洗,處理并存入到Hive中,實現大數據技術在人才招聘信息數據中的應用。使用 hadoop生態系統方便于管理[1],將一個文件分成多個block存在不同的slaver主機上,避免了因一臺主機宕機,而導致文件的丟失。Hive在存儲高于百G或T級數據時,寫入與讀取的速度高于傳統數據庫。
根據實際應用環境中Hadoop集群,將不同的機器完成網絡IP地址的配置,實現集群主機之間網絡互通。使用規范集群主機名,使集群方便規范化管理。各個主機安裝JDK,實現集群Java環境統一。配置集群機器之間無密碼登錄,使集群主機軟件之間可以進行快速直接的通信。對集群進行安裝并配置Hadoop,完成Hadoop集群搭建。分布式集群搭建完成后,根據Hadoop兩大核心組成:有效的解決分布式平臺下文件分割問題的 HDFS分布文件存儲系統與為并行計算提供可能的Map-reduce算法框架。通過監測HDFS和Map-Reduce完成監測工作,通過以上操作完成Hadoop集群搭建。
(1)初始化集群,Hadoop集群節點啟動及創建 HDFS文件夾如圖1所示。

圖1 Hadoop集群啟動并創建HDFS文件
(2)使用HDFS命令查看文件系統“令查路徑下是否存在文件,如圖2所示。

圖2 視圖方式查看DHFS文件
Hive是存儲在Hadoop中可用于存儲,查詢和分析數據的倉庫工具,可用于大規模數的提取,轉換和加載,可以將結構化數據文件映射到表中[1,2]。Hive的執行語句類似于 MySQL并提供類似 MySQL的查詢功能,使用HQL作為查詢接口,用戶提交任務后,編譯器獲取用戶的任務從元數據存儲中獲取元數據信息,然后編譯任務,選擇最佳策略,最后返回結果[2]。使用Map-Reduce計算時本質是將HQL轉換為Map-Reduce程序,更加體現程序的靈活性和擴展性。Hive適用于離線的數據處理,兼容 UDF自定義存儲格式[3]。Hive封裝了Hadoop Map-Reduce任務,不再面臨單個MR任務,而是單個SQL語句。Hive的會話狀態監視反映在每個任務和作業的狀態監視中。當Hive接收到命令語句時,首先去元存儲獲取元數據,然后將元數據信息和執行計劃發送到Hadoop集群以執行任務,然后執行引擎將最終結果返回到Hive接口[4]。
Hive默認元數據表是存儲derby中,derby是單個session的,所以需要先修改為MySQL,在Hadoop集群中安裝MySQL,Hive同樣為Hadoop生態下的一個組件,依賴于Hadoop集群運行并操作[4],所以在安裝好Hadoop集群之后,完成Hive的安裝,通過修改Hive的配置hive-site.xm|文件,配置連接MySQL的信息,將數據庫替換成MySQL等關系型數據庫,將存儲數據獨立出來在多個服務實例之間共享。啟動Hadoop集群后,使用Hive初始化命令查看初始化控制臺信息,如圖3所示。

圖3 Hive啟動
通過使用python爬蟲來獲取招聘網站的同一城市不同互聯網的崗位薪資[5],同一崗位不同城市的薪資,學歷要求等數據。使用base_urls = ,學連接網站地址。
用get_page獲取網頁代碼,用Beautifulsoup解析網頁代碼結構,并尋找所有的 div及相關屬性,并判斷相關標簽信息,遍歷所有的job_all,并用try來檢測可能錯誤代碼,并在控制臺打印信息。如圖4所示獲取工作崗位信息。

圖4 獲取工作崗位
將采集數據保存如圖5所示。
創建 Hive表,將以上的招聘數據用 secureCRT工具上傳到LINUX 平臺,并用 hadoop dfs -put < local file > < hdfs file >命令上傳到Hadoop平臺,在Hive數據倉庫中可查詢現有的表與數據庫,可用show tableses與show databases命令查看,用create table job_data(招聘數據表名)命令建立一個與導入的數據字段順序一致的招聘信息主表,用show tables查看招聘信息表是否建立成功。

圖5 數據存儲

圖6 用show tables查看招聘信息表是否有建立成功
把前面導入的招聘數據使用load命令導入到Hive 表中,即元數據信息到MySQL,可在任何時候的不同主機上訪問Hive表,并把相關文件保存到HDFS上,這樣就實現了集群的功能。加載數據到Hive表中操作如下:

導入完成后,可通過 hive查詢數據表 job_data_clean_price 中數據在 HDFS 所處的文件位置列表信息。
根據hadoop數據平臺分析存儲于Hive系統的招聘數據可得出,互聯網行業發達城市中,北京的高工資平均可達到27000元左右,平均工資可達 22000元,上海、杭州與深圳僅居其次,平均工資可達20000元左右,實現人生夢想的發達城市為北京,上海,廣州,通過下圖呈現出杭州互聯網業的發展迅猛,可多考慮一個實現夢想的工作城市--杭州。從崗位的平均工資分析,互聯網熱門崗位有 Andrioid,Java,PHP,web前端,IOS,人工智能,數據分析,數據挖掘,算法工程師等,從圖6中可以得出,當下對于數據架構師崗位薪資最高,可達到近4萬,人工智能是目前發展的最熱門的崗位,平均薪資26000左右,基礎崗位如Java、PHP等傳統崗位平均薪資在10000元左右。

圖7 發達城市與崗位的平均工資
通過數據的處理,圖形化展示出的招聘的企業來看,大企業如華為、京東、阿里等都是互聯網行業從業人員理想的工作單位,平均薪資可達到2萬元左右,從數據可以看出,螞蟻金服,字節跳動、騰訊等都是屬于高薪企業,平均高薪資可達4-5萬。從學歷分析目前招聘崗位對博士的要求占0.74%,對于本科的要求占65.7%,要求大專以上占比為18.88%。如圖8所示。

圖8 企業平均薪資與學歷占比
基于大數據分布式并行計算技術,采用hadoop+Hive技術實現了招聘網站數據的采集,分析處理,存儲及可視化。根據崗位及城市IT需求數據分析得出:發達城市中IT行業平均工資較高的為北京;互聯網各行業的平均工資較高的為數據架構師,其次為人工智能;學歷要求上本科要求點 65.72%。學歷上博士薪資可達到大專的平均薪資的5-6倍。由此可得出,高校人才培養方案中人工智能,數據分析,數據挖掘,算法工程師這些崗位有更好的就業前景及薪資,明確了IT崗位薪資及各大主要城市發展需求。