如何使用Spark分析拉勾网招聘信息
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章主要为大家展示了"如何使用Spark分析拉勾网招聘信息",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何使用Spark分析拉勾网招聘信息"这篇文章
千家信息网最后更新 2025年01月23日如何使用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安全错误
数据库的锁怎样保障安全
金和互联网科技有限公司
网络技术员考试题
网络安全网络强国主题画
乐视1s服务器连接
演示触摸屏软件开发公司
分布式数据库用什么编程语言
软件开发与测试薪资
网信吉林云课堂网络安全
数据库应用与开发期末考试题
北京冬奥会网络安全保障总结
数字化数据库搭建
网络安全的现实意义
朝阳审计局网络安全
2020英特尔最强服务器cpu
java与数据库教程
金融服务器的主要作用
腾讯云搭建直接服务器
数据库长度最短
下列哪一项不是数据库
许可服务器管理员无法启动
无法打开所登录的数据库
做政府投标软件开发
网络安全与工程的复试科目
以太网有哪几种网络技术组成
内蒙古公安机关网络安全意见
计算机网络技术创新设计
学习数据库用什么书
数据库查询表的语句6
大兴区专业网络技术质量
海康视频服务器管理后台