温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用Spark分析拉勾网招聘信息

发布时间:2021-11-08 11:34:13 来源:亿速云 阅读:262 作者:小新 栏目:云计算

这篇文章主要为大家展示了“如何使用Spark分析拉勾网招聘信息”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用Spark分析拉勾网招聘信息”这篇文章吧。

如果用传统编程语言工具?

假设我们从数据的采集,存储到数据的读取与使用,都是使用传统的语言工具,比如nodejs.

我们如果想知道到底有不同的薪水段有多少招聘职位并从多到少排序,我们可能需要:

  1. 新建对象,存储各个公司的数据;

  2. 循环读取数据,丰富各个公司的数据;

  3. 以薪水为分组,记录各个公司各个职位的信息;

  4. 以招聘数量为标准排序;

步骤,还算简单.暂且不提数据集再大些时,内存是极有可能吃不消;但是第2,3步的逻辑细节,就需要不少代码判断,比如如何循环读取文件数据?如果文件名命名是不规律的呢?如果文件数据是损坏的不规律数据呢?文件数据的json,并不是一个直接可用的职位数组,json结构转换的操作,逻辑上对你来说好实现吗?

诚然,用编程语言,没有什么做不了的,只是时间问题;既然谈到了时间,如果有另外一种明显快的多的方式,你会不用吗?

使用Spark进行分析

使用Spark实现上述同样的逻辑.以下操作,基于交互编程工具Zeppelin:

1.读取数据
val job = sqlContext.read.json("jobs")
job.registerTempTable("job")
job.printSchema()

如何使用Spark分析拉勾网招聘信息

2.获取各个薪水段职位数量,并排序
%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分析拉勾网招聘信息

真的可以直接使用类似于SQL的语法,进行半结构数据的复杂查询,不知道各位看官,看完有何感想?

如果你的SQL功底,不是特别好,我的建议是:有空多看看文档,有需求时先打英文关键词google

几个你可能感兴趣的数据的sparkSQL示例查询

送给有需要的童鞋:

按公司名显示某职位的招聘数量
%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分析拉勾网招聘信息

显示某一职位对工作年限的要求
%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分析拉勾网招聘信息

显示某一职位对学历的要求
%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分析拉勾网招聘信息

显示某一职位各个公司的规模
%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分析拉勾网招聘信息”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI