◆葉惠仙
(福建農(nóng)業(yè)職業(yè)技術(shù)學(xué)院福建3500007)
在大學(xué)畢業(yè)生數(shù)量逐年增加,就業(yè)形勢(shì)較嚴(yán)峻的當(dāng)下,需建立與市場(chǎng)相協(xié)調(diào)的人才培養(yǎng)機(jī)制,特別是IT崗位人才的市場(chǎng)需求機(jī)制。IT行業(yè)在未來(lái)幾年還將產(chǎn)生數(shù)百萬(wàn)個(gè)新的工作崗位,發(fā)展空間極其廣闊,選擇IT行業(yè)的人也越來(lái)越多。對(duì)于選擇哪個(gè)專(zhuān)業(yè),今后會(huì)有更好的工作和發(fā)展前景,是高考學(xué)子及應(yīng)聘人員選擇的困惑。建立大數(shù)據(jù)平臺(tái)分析人才需求,更深入了解行業(yè)招聘的情況,通過(guò)對(duì)招聘網(wǎng)站用人需求及薪資分析,了解行業(yè)招聘的情況,為高考學(xué)子及相關(guān)業(yè)務(wù)部拓展市場(chǎng)提供數(shù)據(jù)參考。
建設(shè)大數(shù)據(jù)平臺(tái)是希望通過(guò)大數(shù)據(jù)處理提升網(wǎng)站人才分析功能,更深入了解行業(yè)招聘的信息,為相關(guān)業(yè)務(wù)部門(mén)拓展市場(chǎng)提供方向,所有的業(yè)務(wù)分析都基于大數(shù)據(jù)平臺(tái),因此需要熟悉掌握大數(shù)據(jù)平臺(tái)的搭建。完成Hadoop全分布部署,Hive組件的安裝等,完成數(shù)據(jù)在Hadoop平臺(tái)離線清洗,處理并存入到Hive中,實(shí)現(xiàn)大數(shù)據(jù)技術(shù)在人才招聘信息數(shù)據(jù)中的應(yīng)用。使用 hadoop生態(tài)系統(tǒng)方便于管理[1],將一個(gè)文件分成多個(gè)block存在不同的slaver主機(jī)上,避免了因一臺(tái)主機(jī)宕機(jī),而導(dǎo)致文件的丟失。Hive在存儲(chǔ)高于百G或T級(jí)數(shù)據(jù)時(shí),寫(xiě)入與讀取的速度高于傳統(tǒng)數(shù)據(jù)庫(kù)。
根據(jù)實(shí)際應(yīng)用環(huán)境中Hadoop集群,將不同的機(jī)器完成網(wǎng)絡(luò)IP地址的配置,實(shí)現(xiàn)集群主機(jī)之間網(wǎng)絡(luò)互通。使用規(guī)范集群主機(jī)名,使集群方便規(guī)范化管理。各個(gè)主機(jī)安裝JDK,實(shí)現(xiàn)集群Java環(huán)境統(tǒng)一。配置集群機(jī)器之間無(wú)密碼登錄,使集群主機(jī)軟件之間可以進(jìn)行快速直接的通信。對(duì)集群進(jìn)行安裝并配置Hadoop,完成Hadoop集群搭建。分布式集群搭建完成后,根據(jù)Hadoop兩大核心組成:有效的解決分布式平臺(tái)下文件分割問(wèn)題的 HDFS分布文件存儲(chǔ)系統(tǒng)與為并行計(jì)算提供可能的Map-reduce算法框架。通過(guò)監(jiān)測(cè)HDFS和Map-Reduce完成監(jiān)測(cè)工作,通過(guò)以上操作完成Hadoop集群搭建。
(1)初始化集群,Hadoop集群節(jié)點(diǎn)啟動(dòng)及創(chuàng)建 HDFS文件夾如圖1所示。
圖1 Hadoop集群?jiǎn)?dòng)并創(chuàng)建HDFS文件
(2)使用HDFS命令查看文件系統(tǒng)“令查路徑下是否存在文件,如圖2所示。
圖2 視圖方式查看DHFS文件
Hive是存儲(chǔ)在Hadoop中可用于存儲(chǔ),查詢(xún)和分析數(shù)據(jù)的倉(cāng)庫(kù)工具,可用于大規(guī)模數(shù)的提取,轉(zhuǎn)換和加載,可以將結(jié)構(gòu)化數(shù)據(jù)文件映射到表中[1,2]。Hive的執(zhí)行語(yǔ)句類(lèi)似于 MySQL并提供類(lèi)似 MySQL的查詢(xún)功能,使用HQL作為查詢(xún)接口,用戶(hù)提交任務(wù)后,編譯器獲取用戶(hù)的任務(wù)從元數(shù)據(jù)存儲(chǔ)中獲取元數(shù)據(jù)信息,然后編譯任務(wù),選擇最佳策略,最后返回結(jié)果[2]。使用Map-Reduce計(jì)算時(shí)本質(zhì)是將HQL轉(zhuǎn)換為Map-Reduce程序,更加體現(xiàn)程序的靈活性和擴(kuò)展性。Hive適用于離線的數(shù)據(jù)處理,兼容 UDF自定義存儲(chǔ)格式[3]。Hive封裝了Hadoop Map-Reduce任務(wù),不再面臨單個(gè)MR任務(wù),而是單個(gè)SQL語(yǔ)句。Hive的會(huì)話(huà)狀態(tài)監(jiān)視反映在每個(gè)任務(wù)和作業(yè)的狀態(tài)監(jiān)視中。當(dāng)Hive接收到命令語(yǔ)句時(shí),首先去元存儲(chǔ)獲取元數(shù)據(jù),然后將元數(shù)據(jù)信息和執(zhí)行計(jì)劃發(fā)送到Hadoop集群以執(zhí)行任務(wù),然后執(zhí)行引擎將最終結(jié)果返回到Hive接口[4]。
Hive默認(rèn)元數(shù)據(jù)表是存儲(chǔ)derby中,derby是單個(gè)session的,所以需要先修改為MySQL,在Hadoop集群中安裝MySQL,Hive同樣為Hadoop生態(tài)下的一個(gè)組件,依賴(lài)于Hadoop集群運(yùn)行并操作[4],所以在安裝好Hadoop集群之后,完成Hive的安裝,通過(guò)修改Hive的配置hive-site.xm|文件,配置連接MySQL的信息,將數(shù)據(jù)庫(kù)替換成MySQL等關(guān)系型數(shù)據(jù)庫(kù),將存儲(chǔ)數(shù)據(jù)獨(dú)立出來(lái)在多個(gè)服務(wù)實(shí)例之間共享。啟動(dòng)Hadoop集群后,使用Hive初始化命令查看初始化控制臺(tái)信息,如圖3所示。
圖3 Hive啟動(dòng)
通過(guò)使用python爬蟲(chóng)來(lái)獲取招聘網(wǎng)站的同一城市不同互聯(lián)網(wǎng)的崗位薪資[5],同一崗位不同城市的薪資,學(xué)歷要求等數(shù)據(jù)。使用base_urls = ,學(xué)連接網(wǎng)站地址。
用get_page獲取網(wǎng)頁(yè)代碼,用Beautifulsoup解析網(wǎng)頁(yè)代碼結(jié)構(gòu),并尋找所有的 div及相關(guān)屬性,并判斷相關(guān)標(biāo)簽信息,遍歷所有的job_all,并用try來(lái)檢測(cè)可能錯(cuò)誤代碼,并在控制臺(tái)打印信息。如圖4所示獲取工作崗位信息。
圖4 獲取工作崗位
將采集數(shù)據(jù)保存如圖5所示。
創(chuàng)建 Hive表,將以上的招聘數(shù)據(jù)用 secureCRT工具上傳到LINUX 平臺(tái),并用 hadoop dfs -put < local file > < hdfs file >命令上傳到Hadoop平臺(tái),在Hive數(shù)據(jù)倉(cāng)庫(kù)中可查詢(xún)現(xiàn)有的表與數(shù)據(jù)庫(kù),可用show tableses與show databases命令查看,用create table job_data(招聘數(shù)據(jù)表名)命令建立一個(gè)與導(dǎo)入的數(shù)據(jù)字段順序一致的招聘信息主表,用show tables查看招聘信息表是否建立成功。
圖5 數(shù)據(jù)存儲(chǔ)
圖6 用show tables查看招聘信息表是否有建立成功
把前面導(dǎo)入的招聘數(shù)據(jù)使用load命令導(dǎo)入到Hive 表中,即元數(shù)據(jù)信息到MySQL,可在任何時(shí)候的不同主機(jī)上訪問(wèn)Hive表,并把相關(guān)文件保存到HDFS上,這樣就實(shí)現(xiàn)了集群的功能。加載數(shù)據(jù)到Hive表中操作如下:
導(dǎo)入完成后,可通過(guò) hive查詢(xún)數(shù)據(jù)表 job_data_clean_price 中數(shù)據(jù)在 HDFS 所處的文件位置列表信息。
根據(jù)hadoop數(shù)據(jù)平臺(tái)分析存儲(chǔ)于Hive系統(tǒng)的招聘數(shù)據(jù)可得出,互聯(lián)網(wǎng)行業(yè)發(fā)達(dá)城市中,北京的高工資平均可達(dá)到27000元左右,平均工資可達(dá) 22000元,上海、杭州與深圳僅居其次,平均工資可達(dá)20000元左右,實(shí)現(xiàn)人生夢(mèng)想的發(fā)達(dá)城市為北京,上海,廣州,通過(guò)下圖呈現(xiàn)出杭州互聯(lián)網(wǎng)業(yè)的發(fā)展迅猛,可多考慮一個(gè)實(shí)現(xiàn)夢(mèng)想的工作城市--杭州。從崗位的平均工資分析,互聯(lián)網(wǎng)熱門(mén)崗位有 Andrioid,Java,PHP,web前端,IOS,人工智能,數(shù)據(jù)分析,數(shù)據(jù)挖掘,算法工程師等,從圖6中可以得出,當(dāng)下對(duì)于數(shù)據(jù)架構(gòu)師崗位薪資最高,可達(dá)到近4萬(wàn),人工智能是目前發(fā)展的最熱門(mén)的崗位,平均薪資26000左右,基礎(chǔ)崗位如Java、PHP等傳統(tǒng)崗位平均薪資在10000元左右。
圖7 發(fā)達(dá)城市與崗位的平均工資
通過(guò)數(shù)據(jù)的處理,圖形化展示出的招聘的企業(yè)來(lái)看,大企業(yè)如華為、京東、阿里等都是互聯(lián)網(wǎng)行業(yè)從業(yè)人員理想的工作單位,平均薪資可達(dá)到2萬(wàn)元左右,從數(shù)據(jù)可以看出,螞蟻金服,字節(jié)跳動(dòng)、騰訊等都是屬于高薪企業(yè),平均高薪資可達(dá)4-5萬(wàn)。從學(xué)歷分析目前招聘崗位對(duì)博士的要求占0.74%,對(duì)于本科的要求占65.7%,要求大專(zhuān)以上占比為18.88%。如圖8所示。
圖8 企業(yè)平均薪資與學(xué)歷占比
基于大數(shù)據(jù)分布式并行計(jì)算技術(shù),采用hadoop+Hive技術(shù)實(shí)現(xiàn)了招聘網(wǎng)站數(shù)據(jù)的采集,分析處理,存儲(chǔ)及可視化。根據(jù)崗位及城市IT需求數(shù)據(jù)分析得出:發(fā)達(dá)城市中IT行業(yè)平均工資較高的為北京;互聯(lián)網(wǎng)各行業(yè)的平均工資較高的為數(shù)據(jù)架構(gòu)師,其次為人工智能;學(xué)歷要求上本科要求點(diǎn) 65.72%。學(xué)歷上博士薪資可達(dá)到大專(zhuān)的平均薪資的5-6倍。由此可得出,高校人才培養(yǎng)方案中人工智能,數(shù)據(jù)分析,數(shù)據(jù)挖掘,算法工程師這些崗位有更好的就業(yè)前景及薪資,明確了IT崗位薪資及各大主要城市發(fā)展需求。
網(wǎng)絡(luò)安全技術(shù)與應(yīng)用2020年12期