基于Hadoop大数据技术和协同过滤算法的就业推荐系统

1 简介

随着互联网的快速发展,网络数据量不断增加,已经进入了大数据时代。大量的信息和商品同时呈现在用户面前,使我们面临一个严重的问题-信息过载,而个性化推荐是解决该问题一个有效的方法,协同过滤方法是目前在实际推荐系统中应用最多的个性化推荐方法,它基于群体的偏好来为用户提供推荐。传统单机的协同过滤算法无论从效率上,还是从计算复杂度上都已无法满足海量信息的处理需要,云计算技术的发展为推荐算法提供了新的研究方向。因此,可以考虑利用结合大数据技术来应对算法扩展性等问题。本文对基于Hadoop大数据处理技术的聚类协同过滤推荐算法进行研究与实现,并对电影数据集进行应用分析。主要对Hadoop两大主要框架、经典聚类算法及推荐算法的相关概念进行了研究;提出基于Hadoop大数据处理技术的分布式聚类协同过滤推荐算法,来解决协同过滤算法应对数据稀疏性和算法的扩展性问题;对数据的稀疏性采用矩阵分解方法预处理初始数据,将预处理后的数据通过聚类算法来建立聚类模型

2 设计概要

1 引言

推荐系统的设计与实现也面临这样的问题,现有的许多用户数据都是从网站日志里来获取,而对于流量非常之大的电子商务网站来说,数据量是非常之大的。而通常用户信息以及商品数据如果使用单机进行处理,那是不可完成的任务。所以推荐系统中算法以及数据的存储都需要分布式框架来进行处理。目前出现的大数据处理框架当中,Hadoop毫无疑问是最流行的框架之一,HDFS分布式存储框架以及MapRedu。

2 Hadoop平台研究

Hadoop是一个分布式系统基础架构,是一个可以更容易开发和运行处理大规模数据的软件平台。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性(fault-tolerent)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。

HDFS 是采用主从架构模式的。在 HDFS 中有两种节点:一个名字节点(namenode)和多个数据节点(datanode)。

名字节点负责管理文件系统的命名空间,维护着文件系统结构树和其中的所有文件和索引目录。另外,名字节点还记录着每个文件的每个数据块所在的数据节点的位置,这些信息会随着每次系统启动时重新建立。客户端用户通过访问名字节点,获得所需数据在相应的数据节点的位置来访问整个文件系统。所以用户在编程时不需要知道名字节点和数据节点及其所在位置。

3 推荐算法的混合

由于各种推荐方法都有优缺点,所以在实际中,组合推荐(Hybrid Recommendation)经常被采用。研究和应用最多的是内容推荐和协同过滤推荐的组合。

4 基于Hadoop平台的混合推荐系统的设计

整个系统是基于Hadoop实现的,Hadoop是一个分布式的大数据计算系统,主要由Mster阶段和DataNode节点构成,Master节点负责管理整个整个分布式系统包括MapRedcue任务的计算以及Hadoop分布式文件系统的元数据管理(通常都是交由Master管理,也可以另外设定),而DataNode负责存储数据以及Map任务以及Reduce任务的计算。Hadoop的工作机制和在第三章已经有相似的阐述。其他的工作模块是依赖于Hadoop来实现的,如图5-6所示。每个模块在启动数据处理和数据访问(获取HDFS或者HBase的数据)的时候都首先向Master请求,并在Master处理请求之后和DataNode进行交互。

推荐引擎内部的算法通常都是面对大数据量并且算法可以进行切分并行计算,将算法以Map和Reduce方式进行切割,并且设计好key和value。对于算法的相似设计会在推荐系统的实现部分根据具体算法进行描述。对Hadoop的使用通常都使用Hadoop封装好的client程序包来进行调用。由client向Master进行请求,然后根据数据切分Map任务,把各个Map任务分配到不同的节点上运行,运行完之后reduce任务把相应的数据结果拉去过来继续计算。完成之后生成最终的结果。

5 结语

对于基于Hadoop的推荐系统的设计,使用了软件设计模式的一些思想来对设计进行指导。比如使用了策略模式,工厂模式等等。这些主要在算法的实现部分有阐述。另外整个系统是进行分层设计的。

在实现部分,论文着重阐述了数据预处理模块的实现,以及推荐引擎的实现,并是运用了策略模式来实现推荐引擎的可扩展。本论文还详细描述了各个推荐引擎的实现。

论文还可以朝以下几个方面进行探索和研究:

(1) 系统的冷启动,在这方面可以使用用户的注册数据以及商品的数据使用基于内容的推荐系统进行推荐。但需要研究具体的实现。

(2)为用户做推荐的时候没有将实时性考虑进去,后续的研究工作当中会着重研究如何根据提取日志数据来对实时性进行考虑。

3 系统关键技术

使用springboot,vue,mysql, mybaties, typescript, html ,css, js 等进行开发

4 开发工具

开发工具主要有:idea、jdk1.8、maven、mysql5.7、Navicat等。

5 代码展示

@RequestMapping("/strategy")
@RestController
@Scope("prototype")
public class StrategyController {
    @Autowired
    private StrategyService strategyService;
    @Value("${web.upload-path}")
    private String path;

    @RequestMapping("/findPage")
    public ObjDat<Strategy> findPage(Strategy strategy, @RequestParam(value="page", defaultValue="1") int page, @RequestParam(value="limit", defaultValue="10") int limit){
        return strategyService.findPage(strategy,page-1,limit);
    }

    @RequestMapping("/edit")
    public JsonResult edit(HttpServletRequest request, Strategy strategy) throws IOException {
        User user=(User)request.getSession().getAttribute("user");
        if(user==null){
            return JsonResult.error("请登录");
        }
        String str=strategyService.edit(request,strategy);
        if(str.equals("成功")){
            return JsonResult.success("操作成功");
        }else{
            return JsonResult.error("操作失败");
        }
    }

6 系统功能描述

项目功能演示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 8
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
基于Hadoop技术的大数据就业岗位数据分析 作者:梁天友 邱敏 来源:《电脑知识与技术》2021年第31期 基于Hadoop技术的大数据就业岗位数据分析全文共10页,当前为第1页。 基于Hadoop技术的大数据就业岗位数据分析全文共10页,当前为第1页。 基于Hadoop技术的大数据就业岗位数据分析全文共10页,当前为第2页。 基于Hadoop技术的大数据就业岗位数据分析全文共10页,当前为第2页。 基于Hadoop技术的大数据就业岗位数据分析全文共10页,当前为第3页。 基于Hadoop技术的大数据就业岗位数据分析全文共10页,当前为第3页。 基于Hadoop技术的大数据就业岗位数据分析全文共10页,当前为第4页。 基于Hadoop技术的大数据就业岗位数据分析全文共10页,当前为第4页。 摘要:大數据是一门新兴技术,为了进一步了解与之有关的就业岗位情况,通过使用Java程序爬取出真实的大数据就业岗位数据,再结合Hadoop技术进行统计分析,最后使用可视化技术呈现大数据技术岗位不同地区招聘的薪资、数量、职业技能需求等详细信息,为各应聘者做参考和决策分析。 关键词:大数据;岗位招聘;Hadoop;统计分析;可视化 中图分类号:TP391 文献标识码:A 基于Hadoop技术的大数据就业岗位数据分析全文共10页,当前为第5页。 文章编号:1009-3044(2021)31-0047-04 基于Hadoop技术的大数据就业岗位数据分析全文共10页,当前为第5页。 Big Data Employment Data Analysis Based on Hadoop Technology LIANG Tian-you, QIU Min (School of Information Engineering, Nanning University, Nanning 530200,China) Abstract: Big data is a new technology, in order to further understand the related employment situation, through the use of Java program climb out real big jobs data, combining the Hadoop technologies were analyzed, and finally using visualization techniques to present big data technology jobs in different area, the hiring salary, quantity, detailed information, such as professional skill requirements for the candidates for your reference and decision analysis. Key words: Big data; Job recruitment; Hadoop; Statistical analysis; visualization 据IBM统计,全球近90%的数据是在过去2年中生成的,每天都在增加2.5 EB(1 EB=1 024 PB)数据。其中,约有90%的数据是非结构化的。所以这些来自网络和云平台的大数据为价值创造和商业智能提供了新的机会。随着大数据的到来,大数据岗位人才稀缺,治理大数据技术问题成为政府和各公司的问题【1】。政府治理(government governance)主要管理政府大数据和利用政府大数据,收集突发公共安全、突发卫生健康、犯罪、自然灾害、恐怖主义、国防等,并且向社会输送大数据技术人才,根据教育部公布的2017-2020年普通高等学校本科专业备案和审批结果显示,获批新增"数据科学与大数据技术"专业的高校高达616所【2】。公司治理(corporation governance)以信息技术(information technology)治理,即IT治理为主,更新技术处理设备,招纳大数据技术人才。 在如此的大数据技术背景下各公司会把所需人才岗位发布到互联网上,求职者根据自身需求和技能对位各公司的岗位,而使用爬虫和大数据相关技能爬取、统计、分析出来的数据能够帮助求职者起到一个借鉴和决策的作用。 1研究数据及技术方法 本次研究以Java和Hadoop技术为基础,"大数据"为关键词,爬取某IT互联网招聘网站各公司的招聘信息到Hadoop分布式文件系统(HDFS)上,爬取信息包括地区、岗位名称、薪资、教育背景、经验要求、公司福利六个字段,对爬取的数据进行处理后存储在Hive数据仓库上,使用M
好的,我可以为您介绍一个基于Hadoop的岗位推荐系统设计案例。 岗位推荐系统的目的是为了提高求职者的就业效率,同时也帮助企业招聘更匹配的人才。这个案例是基于一个虚拟的招聘平台的数据来设计的,以下是系统的设计流程: 1. 数据采集:从招聘平台的职位发布、求职者简历等数据中采集所需的信息,如职位名称、职位描述、求职者技能等。 2. 数据预处理:对采集到的数据进行清洗、去重、归一化等处理,以方便后续的数据分析和建模。 3. 数据分析:使用Hadoop进行数据挖掘、统计分析、机器学习等,以得出职位和求职者的特征,如职位技能要求、求职者技能匹配度等。 4. 推荐算法:使用机器学习算法或深度学习算法,根据职位和求职者的特征,对职位进行推荐。 5. 推荐结果展示:将推荐结果以列表或网格的形式展示给求职者,同时也可以在职位详情页中展示推荐的求职者。 6. 用户反馈:通过求职者的反馈和评价,不断调整和优化推荐算法,提高推荐准确度和用户满意度。 这个案例是一个基于Hadoop的岗位推荐系统设计流程,其中包括了数据采集、数据预处理、数据分析、推荐算法、推荐结果展示和用户反馈等环节。通过不断地优化和调整,可以提高推荐准确度和用户满意度,从而帮助求职者和企业更好地匹配。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值