如何使用Spark分析拉勾网招聘信息
发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,这篇文章主要为大家展示了"如何使用Spark分析拉勾网招聘信息",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何使用Spark分析拉勾网招聘信息"这篇文章
千家信息网最后更新 2024年11月22日如何使用Spark分析拉勾网招聘信息
这篇文章主要为大家展示了"如何使用Spark分析拉勾网招聘信息",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何使用Spark分析拉勾网招聘信息"这篇文章吧。
如果用传统编程语言工具?
假设我们从数据的采集,存储到数据的读取与使用,都是使用传统的语言工具,比如nodejs.
我们如果想知道到底有不同的薪水段有多少招聘职位并从多到少排序,我们可能需要:
新建对象,存储各个公司的数据;
循环读取数据,丰富各个公司的数据;
以薪水为分组,记录各个公司各个职位的信息;
以招聘数量为标准排序;
步骤,还算简单.暂且不提数据集再大些时,内存是极有可能吃不消;但是第2,3步的逻辑细节,就需要不少代码判断,比如如何循环读取文件数据?如果文件名命名是不规律的呢?如果文件数据是损坏的不规律数据呢?文件数据的json,并不是一个直接可用的职位数组,json结构转换的操作,逻辑上对你来说好实现吗?
诚然,用编程语言,没有什么做不了的,只是时间问题;既然谈到了时间,如果有另外一种明显快的多的方式,你会不用吗?
使用Spark进行分析
使用Spark实现上述同样的逻辑.以下操作,基于交互编程工具Zeppelin:
1.读取数据
val job = sqlContext.read.json("jobs")job.registerTempTable("job")job.printSchema()
2.获取各个薪水段职位数量,并排序
%sqlSELECT postionCol.salary,COUNT(postionCol.salary) salary_countFROM jobLATERAL VIEW explode(content.positionResult.result) positionTable AS postionColWHERE content.positionResult.queryAnalysisInfo.positionName="ios" GROUP BY postionCol.salaryORDER BY salary_count DESC
真的可以直接使用类似于SQL的语法,进行半结构数据的复杂查询,不知道各位看官,看完有何感想?
如果你的SQL功底,不是特别好,我的建议是:有空多看看文档,有需求时先打英文关键词google
几个你可能感兴趣的数据的sparkSQL示例查询
送给有需要的童鞋:
按公司名显示某职位的招聘数量
%sqlSELECT postionCol.companyFullName,COUNT(postionCol.companyFullName) postition_countFROM jobLATERAL VIEW explode(content.positionResult.result) positionTable AS postionColWHERE content.positionResult.queryAnalysisInfo.positionName="ios" GROUP BY postionCol.companyFullNameORDER BY postition_count DESC
显示某一职位对工作年限的要求
%sqlSELECT postionCol.workYear,COUNT(postionCol.workYear) workYearsFROM jobLATERAL VIEW explode(content.positionResult.result) positionTable AS postionColWHERE content.positionResult.queryAnalysisInfo.positionName="ios" GROUP BY postionCol.workYearORDER BY workYears DESC
显示某一职位对学历的要求
%sqlSELECT postionCol.education,COUNT(postionCol.education) education_countFROM jobLATERAL VIEW explode(content.positionResult.result) positionTable AS postionColWHERE content.positionResult.queryAnalysisInfo.positionName="ios" GROUP BY postionCol.educationORDER BY education_count DESC
显示某一职位各个公司的规模
%sqlSELECT postionCol.companySize,COUNT(postionCol.companySize) company_size_ountFROM jobLATERAL VIEW explode(content.positionResult.result) positionTable AS postionColWHERE content.positionResult.queryAnalysisInfo.positionName="ios" GROUP BY postionCol.companySizeORDER BY company_size_ount DESC
以上是"如何使用Spark分析拉勾网招聘信息"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
数据
职位
招聘
公司
信息
分析
文件
内容
工具
数量
篇文章
薪水
语言
逻辑
排序
编程
传统
时间
结构
编程语言
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网时尚科技
区块链与关系型数据库
cbg网络安全服务上岗证
服务器电脑ip
网络安全需要怎么设置代码
什么叫汽车车载网络技术
逃脱者2服务器地址
数据库用p
南通市法院网络安全中标公告
计算机网络技术中差错
网络的服务器未响应是怎么回事
工业串口服务器抗干扰分析
内网服务器搭设
剑桥大学网络安全博士
我的世界如何找免费的服务器
软件开发人员分配表
数据库int 类型设置不能为空
数据库系统概论死锁定义
广西凭祥网络安全
我想考个网络安全员
福建智能养老软件开发公司
大型软件开发的代码数量
福建网络安全管理员网站
gis核心是一个空间数据库
网络安全知识手抄报特别简单
vcn软件开发
中国大数据网络技术有限公司
全国软件开发培训
清镇做软件开发的公司
php数据库删除学生信息