這篇文章主要為大家展示了“如何使用Spark分析拉勾網招聘信息”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“如何使用Spark分析拉勾網招聘信息”這篇文章吧。
創新互聯建站是一家專注于成都做網站、網站制作與策劃設計,臨海網站建設哪家好?創新互聯建站做網站,專注于網站建設十載,網設計領域的專業建站公司;建站業務涵蓋:臨海等地區。臨海做網站價格咨詢:18980820575
假設我們從數據的采集,存儲到數據的讀取與使用,都是使用傳統的語言工具,比如nodejs.
我們如果想知道到底有不同的薪水段有多少招聘職位并從多到少排序,我們可能需要:
新建對象,存儲各個公司的數據;
循環讀取數據,豐富各個公司的數據;
以薪水為分組,記錄各個公司各個職位的信息;
以招聘數量為標準排序;
步驟,還算簡單.暫且不提數據集再大些時,內存是極有可能吃不消;但是第2,3步的邏輯細節,就需要不少代碼判斷,比如如何循環讀取文件數據?如果文件名命名是不規律的呢?如果文件數據是損壞的不規律數據呢?文件數據的json,并不是一個直接可用的職位數組,json結構轉換的操作,邏輯上對你來說好實現嗎?
誠然,用編程語言,沒有什么做不了的,只是時間問題;既然談到了時間,如果有另外一種明顯快的多的方式,你會不用嗎?
使用Spark實現上述同樣的邏輯.以下操作,基于交互編程工具Zeppelin:
val job = sqlContext.read.json("jobs") job.registerTempTable("job") job.printSchema()
%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
真的可以直接使用類似于SQL的語法,進行半結構數據的復雜查詢,不知道各位看官,看完有何感想?
如果你的SQL功底,不是特別好,我的建議是:有空多看看文檔,有需求時先打英文關鍵詞google
送給有需要的童鞋:
%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
%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
%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
%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分析拉勾網招聘信息”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創新互聯行業資訊頻道!
文章標題:如何使用Spark分析拉勾網招聘信息
轉載注明:http://vcdvsql.cn/article14/pejdde.html
成都網站建設公司_創新互聯,為您提供關鍵詞優化、搜索引擎優化、網站設計、ChatGPT、手機網站建設、營銷型網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯