浅谈大数据技术在招聘岗位分析中的应用

2021-06-03 04:55连壮
科学与信息化 2021年14期
关键词:爬虫海量集群

连壮

厦门城市职业学院 福建 厦门 361008

就业是民生之本,是人民改善生活的基本前提和基本途径。政府工作报告指出,“做好高校毕业生、退役军人、农民工等重点群体就业工作。”就业是最大的民生,是“六稳”“六保”之首。2021届全国高校毕业生人数将达909万人,再创历史新高,加上往届待就业毕业生和归国留学生,实际需要就业人数预计超1000万人。但大学生就业的结构性矛盾仍然存在,毕业生就业难和用人单位招工难现象并存,一方面高校毕业生就业期望值越来越高,另一方面相关用人单位难以招到合适的人才[1]。

大数据已成为IT界最炙手可热的名词,在全世界引领新一轮数据技术革命的浪潮。在各方面深刻影响着当今社会。大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能处理具有更强决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产[2]。近年来互联网数据呈现出爆炸式指数级的增长,招聘网站的岗位数据也不例外,大部分的用人单位都是通过互联网招聘网站发布单位的招聘岗位需求。这些海量的招聘岗位信息要如何采集、存储?如何处理计算处理?如何从繁多招聘岗位数据中统计分析并挖掘出有用的信息?如何对信息进行展示?解决这些问题不但有助于解决大学生等就业群体就业难的问题,而且也有助于就业群体高质量就业,有助于高校改进课程内容,培养出更多贴合社会需要的人才。互联网上的招聘岗位信息多为非结构化的数据,笔者采用Hadoop为核心的大数据技术从大数据平台构建、采集岗位信息、数据清洗及挖掘、大数据可视化展示等方面对上述问题进行应用研究。

1 构建Hadoop大数据平台及招聘岗位信息的采集和存储

Hadoop是一个开源软件框架,可编写和运行分布式应用,处理大规模数据。Hadoop 框架的核心是HDFS和Map Reduce。Ambari是基于Web的Apache Hadoop集群管理工具,提供对集群部署、监控和管理。同样也支持对HDFS、Hadoop Map Reduce、Hive、Mahout、HBase、ZooKeeper、Oozie、Pig以及Sqoop等工具的创建和管理。它提供了一个查看集群工作状态的控制面板,可以通过控制面板来浏览Hadoop应用程序的当前状态以及遇到的错误[2]。笔者采用3台CentOS7服务器通过Ambari构建Hadoop分布式集群,从而构建出大数据平台。其中一台服务器为master节点,另外两台服务器为slave节点,并且可以通过动态添加的方式扩展节点。Ambari的图形界面也非常有助于平台管理员去管理维护和监控Hadoop集群。如图1所示。

图1 Ambari部署、监控、管理Hadoop集群

互联网上的招聘岗位信息众多,笔者使用java编程语言,利用Web Magic开源灵活的Java爬虫框架,快速开发出一个高效、易维护的爬虫[3]。借助Web Magic 爬虫框架从招聘网站采集就业岗位数据,配置爬虫数据萃取表达式,对采集到的HTML内容提取出csv 格式,数据内容包括岗位、公司、月薪、福利、职位描述、职位要求等。对采集数据进行简单的筛选,保留有价值的信息。HDFS是一个分布式的海量文件存储管理系统,可以将超大文件分布式存储在不同服务器节点上,笔者将采集的岗位数据信息存储到Ambari大数据平台的HDFS中。

2 岗位数据的处理、统计和挖掘

由于招聘网站上招聘信息编辑工作是由各个公司自主完成发布的,因此存在着数据信息的多样性,即使在抓取环节过滤掉了大量的“垃圾”岗位信息,依然存在各种各样的岗位名称表述方式。因此采用Map Reduce计算框架,定制个性化的清洗规则(例如规范化岗位名称等),高效地对大量岗位文本信息进行处理。Hadoop Map Reduce是一个软件框架,程序员可以通过该框架将应用程序分布运行在不同的服务器节点上,并以可靠的、具有容错能力的方式并行处理海量的岗位数据集。

Hive是Hadoop项目中一个重要的子项目,也是Apache项目基金会下的一个开源项目。Apache Hive将数据存储在HDFS文件系统中,并在该文件系统中进行大数据分析。Hive是基于Map Reduce计算框架的,可以使程序员采用和SQL相似的操作,将类SQL语言转换为Map Reduce任务进行运行,从而快速实现Map Reduce统计,不需要开发专门的Map Reduce应用[2]。通过Hive使用Java语句和类SQL语句可以对岗位的地点、发布时间、薪资待遇、学历等进行处理并统计出相应的结果,这些结果可以给就业群体提供帮助,也可以给高校提供参考。Hive让有数据库基础的开发者不需要了解底层的Map Reduce过程,就可以读写并统计大量的岗位数据。

通过上述对岗位数据统计后,还可以进一步地对数据进行挖掘,笔者采用K-means 文本聚类的方法来进行数据挖掘出不同岗位对应的技能,利用Mahout自带的方法将文本信息转换为<词ID,词频>的向量形式[2],通过聚类的方式可以挖掘不同的岗位所需要的技能点和技能点对岗位的重要性程度的量化。通过学生的技能成绩和岗位分析得到的技能权重进行相似度匹配,从而给不同的学生个性化推荐不同的岗位。

3 大数据可视化展示

在对岗位数据分析处理、统计挖掘之后,需要借助数据可视化工具将分析结果直观地展现出来。可以选用电子表格(Excel)和ECharts来进行岗位数据的可视化展示。Excel 是微软公司开发的办公套装软件的组成部分,它可以对各种数据进行处理、统计分析和辅助决策操作,广泛地应用于众多领域,具有简单易用的特点。ECharts是一个使用 JavaScript 实现的开源可视化库,可以流畅地运行在PC和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等)。底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表[4]。ECharts 提供了常规的柱状图、折线图、饼图、散点图及地理数据可视化的地图等丰富的图表,可以对岗位数据进行可视化操作。如图2所示。

图2 Echarts对岗位数据可视化展示

本文阐述了通过Ambari构建Hadoop大数据平台、使用Web Magic采集招聘岗位数据,使用Hadoop的组件HDFS实现岗位招聘数据的海量存储、Map Reduce实现海量招聘数据的计算处理、Hive实现类SQL语句对海量招聘岗位的统计、通过Mahout的聚类和相似度计算实现岗位数据的挖掘和个性推荐,使用ECharts对岗位数据进行可视化展示。全面说明了大数据技术在招聘岗位中应用,相信通过大数据技术可以在一定程度上帮助解决就业难的问题,从而让大学生等群体实现高质量就业。

猜你喜欢
爬虫海量集群
利用网络爬虫技术验证房地产灰犀牛之说
一种傅里叶域海量数据高速谱聚类方法
基于Python的网络爬虫和反爬虫技术研究
目前互联网中的网络爬虫的原理和影响
海上小型无人机集群的反制装备需求与应对之策研究
海量快递垃圾正在“围城”——“绿色快递”势在必行
培育世界级汽车产业集群
“海量+”:大学生品格提升的浸润方——以高职艺术设计专业为例
一种无人机集群发射回收装置的控制系统设计
大数据背景下校园舆情的爬虫应用研究