如何使用Spark分析拉勾网招聘信息
发表于:2024-10-21 作者:千家信息网编辑
千家信息网最后更新 2024年10月21日,这篇文章主要为大家展示了"如何使用Spark分析拉勾网招聘信息",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何使用Spark分析拉勾网招聘信息"这篇文章
千家信息网最后更新 2024年10月21日如何使用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安全错误
数据库的锁怎样保障安全
服务器生产厂商
服装进销存管理系统数据库
软件开发公司放假通知
代理服务器 编程
字节跳动软件开发年薪多少
贵州质量软件开发价钱
有哪些好用的法学数据库
100网络技术网盘密码
人事管理数据库课程设计
农业信息网络技术有限公司
深圳市天天博网络技术有限公司
软件开发行业预期信用损失率
如何给网络安全中心发邮件
关于网络安全防范的文章
bat导入数据库
qq服务器维护
软件开发企业即征即退货物
出租车叫车软件开发公司
阿里云服务器与本地电脑组网
中小学生与家庭教育网络安全回放
邯郸人工智能软件开发价位
服务器电源和交换机电源
dhcp网络技术
现在的网络安全问题多吗
戴尔服务器u盘启动进不去了
数据库 标签设计
大兴回收服务器报价单
网络安全纪念日
广元市网络安全平台
电子商务数据库技术自考