溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用Spark分析拉勾網(wǎng)招聘信息

發(fā)布時(shí)間:2021-11-08 11:34:13 來源:億速云 閱讀:262 作者:小新 欄目:云計(jì)算

這篇文章主要為大家展示了“如何使用Spark分析拉勾網(wǎng)招聘信息”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“如何使用Spark分析拉勾網(wǎng)招聘信息”這篇文章吧。

如果用傳統(tǒng)編程語(yǔ)言工具?

假設(shè)我們從數(shù)據(jù)的采集,存儲(chǔ)到數(shù)據(jù)的讀取與使用,都是使用傳統(tǒng)的語(yǔ)言工具,比如nodejs.

我們?nèi)绻胫赖降子胁煌男剿斡卸嗌僬衅嘎毼徊亩嗟缴倥判?我們可能需要:

  1. 新建對(duì)象,存儲(chǔ)各個(gè)公司的數(shù)據(jù);

  2. 循環(huán)讀取數(shù)據(jù),豐富各個(gè)公司的數(shù)據(jù);

  3. 以薪水為分組,記錄各個(gè)公司各個(gè)職位的信息;

  4. 以招聘數(shù)量為標(biāo)準(zhǔn)排序;

步驟,還算簡(jiǎn)單.暫且不提數(shù)據(jù)集再大些時(shí),內(nèi)存是極有可能吃不消;但是第2,3步的邏輯細(xì)節(jié),就需要不少代碼判斷,比如如何循環(huán)讀取文件數(shù)據(jù)?如果文件名命名是不規(guī)律的呢?如果文件數(shù)據(jù)是損壞的不規(guī)律數(shù)據(jù)呢?文件數(shù)據(jù)的json,并不是一個(gè)直接可用的職位數(shù)組,json結(jié)構(gòu)轉(zhuǎn)換的操作,邏輯上對(duì)你來說好實(shí)現(xiàn)嗎?

誠(chéng)然,用編程語(yǔ)言,沒有什么做不了的,只是時(shí)間問題;既然談到了時(shí)間,如果有另外一種明顯快的多的方式,你會(huì)不用嗎?

使用Spark進(jìn)行分析

使用Spark實(shí)現(xiàn)上述同樣的邏輯.以下操作,基于交互編程工具Zeppelin:

1.讀取數(shù)據(jù)
val job = sqlContext.read.json("jobs")
job.registerTempTable("job")
job.printSchema()

如何使用Spark分析拉勾網(wǎng)招聘信息

2.獲取各個(gè)薪水段職位數(shù)量,并排序
%sql
SELECT  postionCol.salary,COUNT(postionCol.salary) salary_count
FROM job
LATERAL VIEW explode(content.positionResult.result) positionTable AS postionCol
WHERE content.positionResult.queryAnalysisInfo.positionName="ios" 
GROUP BY postionCol.salary
ORDER BY salary_count  DESC

如何使用Spark分析拉勾網(wǎng)招聘信息

真的可以直接使用類似于SQL的語(yǔ)法,進(jìn)行半結(jié)構(gòu)數(shù)據(jù)的復(fù)雜查詢,不知道各位看官,看完有何感想?

如果你的SQL功底,不是特別好,我的建議是:有空多看看文檔,有需求時(shí)先打英文關(guān)鍵詞google

幾個(gè)你可能感興趣的數(shù)據(jù)的sparkSQL示例查詢

送給有需要的童鞋:

按公司名顯示某職位的招聘數(shù)量
%sql
SELECT  postionCol.companyFullName,COUNT(postionCol.companyFullName) postition_count
FROM job
LATERAL VIEW explode(content.positionResult.result) positionTable AS postionCol
WHERE content.positionResult.queryAnalysisInfo.positionName="ios" 
GROUP BY postionCol.companyFullName
ORDER BY postition_count  DESC

如何使用Spark分析拉勾網(wǎng)招聘信息

顯示某一職位對(duì)工作年限的要求
%sql
SELECT  postionCol.workYear,COUNT(postionCol.workYear) workYears
FROM job
LATERAL VIEW explode(content.positionResult.result) positionTable AS postionCol
WHERE content.positionResult.queryAnalysisInfo.positionName="ios" 
GROUP BY postionCol.workYear
ORDER BY workYears  DESC

如何使用Spark分析拉勾網(wǎng)招聘信息

顯示某一職位對(duì)學(xué)歷的要求
%sql
SELECT  postionCol.education,COUNT(postionCol.education) education_count
FROM job
LATERAL VIEW explode(content.positionResult.result) positionTable AS postionCol
WHERE content.positionResult.queryAnalysisInfo.positionName="ios" 
GROUP BY postionCol.education
ORDER BY education_count  DESC

如何使用Spark分析拉勾網(wǎng)招聘信息

顯示某一職位各個(gè)公司的規(guī)模
%sql
SELECT  postionCol.companySize,COUNT(postionCol.companySize) company_size_ount
FROM job
LATERAL VIEW explode(content.positionResult.result) positionTable AS postionCol
WHERE content.positionResult.queryAnalysisInfo.positionName="ios" 
GROUP BY postionCol.companySize
ORDER BY company_size_ount  DESC

如何使用Spark分析拉勾網(wǎng)招聘信息

以上是“如何使用Spark分析拉勾網(wǎng)招聘信息”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI