摘要: 随着大数据产业的快速发展,大数据职位的需求不断增加。大数据被广泛地应用到制造业、金融业、电子商务以及电子政务等[6]。制造业可以利用大数据准确高效分析市场需求,合理确定制造目标和方向,提高制造效率[7];金融业可以使用大数据分析市场预期和分析潜在风险,确保金融行业稳定运行[8];许多大型互联网企业、金融机构、电信公司和政府部门都在积极职位大数据专业人才。这些企业和组织需要构建自己的数据分析和可视化系统来处理和分析海量数据,并从中获得有价值的信息。
本研究基于Hive对大数据职位的数据进行分析和可视化,主要包括以下内容:数据采集:使用网络爬虫技术从各大职位平台爬取大数据职位信息,使用Python编写爬虫程序,可以使用第三方库requests。requests库是一个Python的HTTP请求库,可以用于向目标URL发起请求并获取相应的内容和数据(包括大数据岗位名称、不同岗位的薪资、学历要求、岗位技能要求、职位人数、工作经验、公司规模、公司地址、电话等信息);
数据清洗:爬取到的原始数据存在职位数据重复、岗位名称不规范、工资数据单位不统一、工作地点数据范围不一致、行业数据信息冗余、公司人数不统一等问题,因此需要进一步对数据进行处理,如重复值处理、岗位名处理、工资数据处理、工作地点处理等,经过处理能得到可用性强、准确性强、参考性好的数据,有利于提高后续数据统计与分析的质量;
数据分析:基于Hive,通过统计分析方法,对大数据职位的热门职位岗位、热门职位岗位的工资待遇、技能需求、薪资水平、职位人数、岗位分布情况、平均薪资等进行分析并通过聚类算法对数据进行分析。数据存储:将分析好的数据存入Mysql数据库。数据可视化:使用可视化工具Echarts,将分析结果设计出直观、易懂的数据可视化图表,例如柱状图(对各省职位人数可视化、热门职位岗位、热门职位岗位的薪资待遇)、折线图、饼图(学历要求、薪资待遇)、热点图、地图、词云图。
关键词:大数据;Hive; Flask;职位信息
Design and Implementation of Hive Based Big Data Job Analysis System
Abstract: Abstract: With the rapid development of the big data industry, the demand for big data positions is constantly increasing. Big data is widely used in manufacturing, finance, e-commerce, and e-government. The manufacturing industry can use big data to accurately and efficiently analyze market demand, reasonably determine manufacturing goals and directions, and improve manufacturing efficiency [7]; The financial industry can use big data to analyze market expectations and potential risks, ensuring the stable operation of the financial industry; Many large internet companies, financial institutions, telecommunications companies, and government departments are actively recruiting big data professionals. These enterprises and organizations need to build their own data analysis and visualization systems to process and analyze massive amounts of data, and obtain valuable information from it.
This study is based on Hive's analysis and visualization of big data job data, mainly including the following content: data collection: using web crawler technology to crawl big data job information from various recruitment platforms, writing crawler programs in Python, and using third-party library requests. The requests library is a Python HTTP request library that can be used to initiate requests to target URLs and obtain corresponding content and data (including big data job names, salaries for different positions, educational requirements, job skill requirements, recruitment numbers, work experience, company size, company address, phone number, and other information);
Data cleaning: The raw data crawled has problems such as duplicate recruitment data, non-standard job names, inconsistent salary data units, inconsistent work location data ranges, redundant industry data information, and inconsistent company personnel. Therefore, further data processing is needed, such as duplicate value processing, job name processing, salary data processing, and work location processing. After processing, strong usability and accuracy can be obtained Good reference data is beneficial for improving the quality of subsequent data statistics and analysis;
Data analysis: Based on Hive, statistical analysis methods are used to analyze the popular recruitment positions in big data, including salary benefits, skill requirements, salary levels, recruitment numbers, job distribution, and average salaries. Cluster algorithms are used to analyze the data. Data storage: Store the analyzed data in a MySQL database. Data Visualization: Use visualization tools such as Tableau, Matplotlib, etc. or Echarts to design intuitive and understandable data visualization charts for the analysis results, such as bar charts (visualizing the number of recruits in each province, popular recruitment positions, and salary benefits for popular recruitment positions), line charts, pie charts (educational requirements, salary benefits), hotspot charts, maps (average salaries and recruitment numbers in various regions across the country) Word cloud (counting the frequency of keyword occurrences).
Keywords: big data; Hive; Flask; Job Information
1 绪论
1.1研究背景与现状
随着大数据技术的不断发展和应用,各行各业对于数据分析和处理的需求也日益增加。在大数据领域中,Hive作为一种基于Hadoop的数据仓库工具,被广泛应用于数据查询和分析。大数据职位作为一个新兴的职业领域,正面临着快速发展和供需失衡的问题。据数联寻英发布的《大数据人才报告》显示, 目前全国的大数据人才仅46万, 未来3-5年内大数据人才的缺口将高达150万[1]。
虽然大数据人才缺口很大且基于大数据专业毕业的大学生也很多,但是现在的大学生普遍对社会人才需求和本专业最新社会需求存在一定程度的认知不足,同时对于相关专业知识的存储也存在不足,而仅依靠学校授予的知识技术可能并不足以他们找到一份满意的工作。因此,基于Hive对大数据职位进行分析和可视化,可以帮助求职者更好地了解市场需求和人才供给情况,从而提高职位和求职的效率和精准度。还可以为求职者提供符合自身需求和社会需求的就业指导,并在一定程度上可以缓解社会紧缺专业人才职位的压力,除此之外,在校大学生可以提前对当前社会的专业人才需求和职位类型进行了解,从而尽早地学习相关技能和积累相关知识[2]。
总而言之,从上述问题可以看出目前互联网职位信息缺乏整合,用户在冗杂的职位信息中难以筛选出有效的信息。本论文拟初步研究开发出一套完整的基于大数据平台的职位平台信息分析系统,本系统主要用于对职位信息和公司信息进行采集,通过大数据平台对数据进行存储和计算,将大数据分析结果以可视化形式给用户查询。这样,用户在使用本平台时只需一次注册操作,即可浏览各平台发布的职位信息,并且可以根据用户的条件进行筛选,可极大的提高求职效率,给企业和求职者都带来一定的便利。
1.2国内外研究现状
1.2.1国内研究现状
随着大数据产业的快速发展,大数据职位的需求不断增加。大数据被广泛地应用到制造业、金融业、电子商务以及电子政务等[6]。制造业可以利用大数据准确高效分析市场需求,合理确定制造目标和方向,提高制造效率[7];金融业可以使用大数据分析市场预期和分析潜在风险,确保金融行业稳定运行[8];许多大型互联网企业、金融机构、电信公司和政府部门都在积极职位大数据专业人才。这些企业和组织需要构建自己的数据分析和可视化系统来处理和分析海量数据,并从中获得有价值的信息。也有很多国内学者通过大数据技术对职位数据信息进行分析,叶惠仙基于大数据分布式并行计算技术,采用Hadoop+Hive技术实现了职位网站数据的分析[9]。刘海、王晓玉等人采用大数据技术Hive对网络上爬取的职位信息进行数据预处理与分析[10]。刘睿伦、叶文豪等人运用前程无忧、拉勾网、看准网等职位网站中爬取的 55287条数据,使用聚类分析发现大数据岗位对学历要求不高、企业偏好有经验的但也不排除无经验的求职者、企业对职位素养要求 要高于计算机技术要求等特点[11];在国家层面,大数据技术发挥着重要作用。21世纪是属于互联网的世纪,大数据交换的频率越来越频繁,各行各业都在积极加强大数据技术的研究和使用。一个国家的海关肩负着守护国家安全、促进对外贸易的重要使命,在实现监管流程智能化的同时,有效、安全地利用大数据通关海关非常重要[12]。在这些系统中,Hive常被用作数据的存储和处理引擎,通过使用HiveQL语言进行数据查询和分析。通过这些系统,可以实现对数据的高效管理、快速查询和灵活分析,帮助企业做出更明智的决策。
1.2.2国外研究现状
大数据职位的需求在不断增加。美国、英国、加拿大等发达国家的科技企业和金融机构对大数据专业人才的需求非常强烈。这些企业通常会使用Hadoop生态系统中的各个组件(包括Hive)来构建他们的大数据分析和可视化系统。通过这些系统,他们可以对海量数据进行深入的分析,从中发现潜在的商业机会和趋势,进而优化业务流程和决策。
1.3论文主要研究工作
为了实时了解各行业最新最热的技术、最火热的岗位、薪资最高的岗位光靠人工收集并采用普通的方式进行分析十分浪费人力物力,并且效率和体验都不好,因此开发一套基于大数据的职位数据分析系统显得尤为重要。本论文所设计的基于大数据平台的职位信息分析系统的最核心功能是对海量职位信息的列表展示,并将大数据计算分析的结果以科技大屏可视化形式展出,使得用户能够非常直观的获取到当下的行业职位信息。
本系统首先需要提供给客户管理和使用的数据。本文使用基于Python语言的Scrapy框架的网络爬虫技术爬取用户使用率较高的职位网站上实时的职位信息以及公司信息作为数据来源,以此作为大数据分析的关键数据支撑。然后使用Hadoop,生态圈中分布式运算模型MapReduce框架对海量的职位信息数据进行数据清洗,数据融合,计算,分析等流程,数据通过处理后持久化到MySQL数据库中存储。在计算出分析结果数据后,使用Flask等软件开发技术等框架完成基于职位大数据分析平台系统的后台的开发。
本文开发一套Web系统将市面上的职位信息通过大数据技术进行存储、计算与智能化分析,将会给应聘人员提供巨大的好处。在提供职位信息列表展示以及筛选功能的同时,还为用户提供个人信息管理,注册修改等功能,这样做便使得该系统成为功能相对完整,业务逻辑清晰,可大幅度提高求职和职位的效率。
2 技术总述
2.1 基于Scrapy的网络爬虫技术
Scrapy是目前较为成熟的爬虫技术框架,一般采用Python语言开发程序,Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。
在本设计中,由于需要使用到职位网站的原始数据,因此需要开发相应的网
络爬虫程序完成对职位原始数据的采集,图2-1为爬取Boss直聘网站的职位
数据的原理流程图。
图2-1 Boss直聘网站爬重原理流程图
2.2 Hive技术
Hadoop是一个由Apache基金会所开发的分布式系统基础架构,主要解决海量数据的存储和海量数据的分析计算问题,广义上来说,HADOOP通常是指一个更广泛的概念,即HADOOP生态圈。
Hive是一个构建在Hadoop上的数据仓库框架。最初,Hive是由Facebook开发,后来移交由Apache软件基金会开发,并作为一个Apache开源项目。
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。
其本质是将SQL转换为MapReduce的任务进行运算,底层由HDFS来提供数据的存储,说白了hive可以理解为一个将SQL转换为MapReduce的任务的工具,甚至更进一步可以说hive就是一个MapReduce的客户端。
图2-2 Hive原理图
2.3 Flask技术
Flask是一个基于Python语言编写的轻量级Web应用框架,其核心理念是简单而灵活。Flask提供了基础的Web应用组件(如路由、请求和响应管理等),并可与其他第三方库集成,以实现更高级别的Web应用开发。
以下是Flask的主要特点:
轻量级和灵活性:Flask设计的目的是提供一种简单而灵活的方式来构建Web应用,因此它只提供了基础的Web应用组件,可以根据需求进行自定义扩展。
易学易用:Flask的API非常简洁易懂,上手难度较低,开发者可以很快地了解其基本使用方法,并开始进行Web应用的开发。
可扩展性:Flask可以集成许多第三方库,如SQLAlchemy、WTForms等,以实现更高级别的Web应用开发。
RESTful支持:Flask可以方便地实现RESTful API,使得开发者能够快速构建RESTful服务。
单元测试支持:Flask内置支持Python标准库unittest,使得开发者可以方便地进行单元测试。
Jinja2模板引擎:Flask默认使用Jinja2模板引擎,该模板引擎具有良好的模板继承和自定义过滤器等功能,可以快速构建出美观且高效的用户界面。
总体而言,Flask是一个轻量级、易学易用、可扩展性强的Web框架,适用于构建中小型Web应用。它的灵活性使得开发者可以根据需求进行自定义扩展,同时其集成了许多有用的第三方库,使得开发者可以快速地构建出有用的Web应用。
2.4 Echarts前端可视化技术
Apache ECharts 是一款基 于Javascript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。ECharts 开源来自百度商业前端数据可视化团队,基于htm15 Canvas, 它是一个纯Javascrint,图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。创新的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据进行挖掘、整合的能力。
2.5 本章小结
本章主要分析了系统开发过程中使用到的技术点和框架,通过研究这些技术的原理后,在本设计中加以应用,包括职位信息采集的爬虫技术,数据持久化存储技术,Hive分析,以及基于Flask框架的系统后台技术,通过预研上述技术点并加以应用从而开发出基于大数据分析平台的职位数据分析系统。
3 职位信息大数据分析系统实现
3.1系统功能
通过前面的功能分析可以将基于大数据的职位信息分析平台的研究与实现的功能主要包括用户登录、职位信息管理、数据分析等内容。后台管理是针对已登录的用户看到满意的职位数据分析而设计的。
3.2可行性研究
通过对系统研究目标及内容的分析审察后,提出可行性方案,并对其进行论述。主要从技术可行性出发,再进一步分析经济可行性和操作可行性等方面。
开发系统所涉及到的资料,一般是在图书馆查阅,或是在网上进行查找收集。所需要的一些应用软件也都是在网上可以免费下载的,因此,开发成本是几乎为零。但是开发出来的系统,还是具有高效率,低成本,较高质量的。所以,从经济可行性的角度,该系统符合标准。
技术可行性是考虑在现有的技术条件下,能否顺利完成开发任务。以及判断现有的软硬件配置是否能满足开发的需求。而本系统采用的是Hadoop开发框架,并非十分困难,所以在技术上是绝对可行的。此外,计算机硬件配置是完全符合发展的需要。
当前计算机信息化的知识已经十分普及了,现在的操作人员也都是对系统环境有很强的适应性,各类操作人员大都是有过培训补充的,因此完全不影响组织结构,所以在运行上也是可行的。
从时间上看,在大四的最后一个学期,在实习工作与完成毕设两件大事相交叉的时间里,结合之前学习的相关知识,并开发系统,时间上是有点紧,但是也不是完全没可能实现,通过这段时间的努力功能基本实现。
3.3 系统实现流程
(1)明确目的
在设计职位信息大数据分析平台初期需要了解如何获取职位信息原始数据
是非常基础也是关键的一步。要了解大数据分析平台期望达到什么样的运营效
果,从而在标签体系构建时对数据深度、广度及时效性方面作出规划,确保底层
设计科学合理。
(2)数据采集
只有建立在客观真实的数据基础上,大数据计算分析的结果才有效。在采集
数据时,需要考虑多种维度,比如不同行业职位数据、各行业薪资水平数据、行
业就业情况数据、行业职位岗位等等,还可以通过行业调研、用户访谈、用户信
息填写及问卷、平台前台后台数据收集等方式获得。
(3)数据清洗
就对于各大职位网站或者APP平台采集到的数据而言,可能存在非目标数据、
无效数据及虛假数据,因而需要过滤原始数据,去除一些无用的信息以及脏数据,
便于后续的处理。
(4)特征工程
特征工程能够将原始数据转化为特征,是--些转化与结构化的工作。在这个
步骤中,需要剔除数据中的异常值并将数据标准化。
(5)数据计算
在这一步我们将得到的数据存储到大数据分析平台,通过开发MapReduce,
程序对原始数据进行计算,将不同维度的结果存储到Mysql中。
(6)数据展示
分析结果可以通过大数据后台展示到前端界面,对于普通用户而言,只需.
要登录到该后台系统,就可以获取到职位数据分析后的计算结果,从而了解行业
的职位情况,对于求职者而言可以极大地提高效率。
3.4 职位数据爬虫设计
这个项目我们的主要目的是爬取Boss直聘网的职位数据信息,包括职位岗
位、企业名称和企业描述和规模等具体详情信息,下面描述本文爬虫工程主要设
计步骤。
(1)创建项目
打开一个终端输入:scrapy startproiect python_ city _data,Scrapy框架将会在指定目录下生成整个工程框架。系统生成的目录如下图3-2所示:
图3-2爬虫框架目录结构
(2)修改setting文件
如图3-1所示为修改后的setting文件主要内容,本设计主要修改三项内容,
第一个是不遵循机器人协议,第二个是下载间隙,由于下面的程序要下载多个页
面,所以需要给一个间隙(不给也可以,只是很容易被侦测到),第三个是请求
头,添加一个User-Agent。
表3-1 爬虫setting文件主要配置
BOT_NAME = 'python_city_data' |
(3)确认要提取的数据,item 项
item定义你要提取的内容(定义数据结构),比如我提取的内容为职位信息的所在城市和企业职位详情,于是需要在items类中新建对应的实体类,并需要设置相应的字段取出对应的数据。Field 方法实际上的做法是创建一个字典,给字典添加一个建,暂时不赋值,等待提取数据后再赋值。
(4)开发爬虫程序,访问下载网页,使用Xpath语法提取内容
3.5 Hive程序设计
原始的职位信息数据一般信息较为冗杂,且很难看出规律,因此我们需要将
数据存储在HDFS上,数据在多台机器上保存了n份,保证了原始数据的高可用。
然后通过Hive框架开发程序,将海量的原始数据计算过程分成一个个的
job提交到yarn上管理执行。
表3-2 职位Hive分析代码
-- 创建职位数据表job_dataCREATE TABLE job_data ( job_title STRING, company_name STRING, location STRING, job_type STRING, salary INT, post_date STRING )ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE; -- 加载数据到job_data表 LOAD DATA LOCAL INPATH '/path/to/job_data.csv' INTO TABLE job_data; -- 统计不同地区的职位数量SELECT location, COUNT(*) AS job_countFROM job_dataGROUP BY locationORDER BY job_count DESC; -- 统计不同职位类型的平均薪资SELECT job_type, AVG(salary) AS avg_salaryFROM job_dataGROUP BY job_typeORDER BY avg_salary DESC; -- 统计不同公司发布的职位数量和平均薪资SELECT company_name, COUNT(*) AS job_count, AVG(salary) AS avg_salaryFROM job_dataGROUP BY company_nameORDER BY job_count DESC; |
4 后台系统实现
基于大数据的职位信息分析平台的基本业务功能是采用Flask框架实现的, 前端 JS采用jQuery框架,页面样式采用EasyUI 框架,页面展示使用Echarts技术,数据 存储采用关系型数据库Mysql。在本文的第四章将详细介绍后台系统的实现部分,包括详细阐述了系统功能模块的具体实现,并展示说明了部分模块的功能界面。
4.1 开发环境与配置
本系统设计基于B/S架构,其中服务器包括应用服务器和数据库服务器。这种架构模式,使用户只需要在有网络的地方即可通过浏览器访问,而不需要再安装客户端软件,交互性更强。基于大数据的职位信息分析平台使用Pycharm集成开发工具。本系统的主要开发环境以及开发工具如表4-1所示。
表4-1 系统开发环境和工具
项目 | 系统环境及版本 |
硬件环境 | Windows 64 位操作系统 |
Python版本 | 3.5 |
数据库 | MySql |
开发工具 | Pycharm |
项目架构 | Hive+Flask+Scrapy |
表4-2 系统配置代码
from flask import Flask app = Flask(__name__) # 配置对象class Config: DEBUG = False SECRET_KEY = 'your_secret_key' DATABASE_URI = 'your_database_uri' # 加载配置 app.config.from_object(Config) # 路由和视图函数@app.route('/')def index(): return 'Hello, World!' if __name__ == '__main__': app.run() |
上述代码中,我们首先定义了一个名为Config的配置对象,其中包含了一些常用的配置项。你可以根据自己的需求添加、修改或删除配置项。在这个示例中,我们添加了DEBUG、SECRET_KEY和DATABASE_URI三个配置项。
接着,我们使用app.config.from_object(Config)方法加载配置对象,将其应用到Flask程序中。
然后,我们定义了一个名为index的路由和视图函数,用于处理根路径的请求。在这个示例中,当用户访问根路径时,浏览器将显示Hello, World!消息。
最后,通过app.run()方法启动Flask应用程序。
你可以根据自己的需求,添加更多的路由和视图函数,并在配置对象中定义适当的配置项。例如,你可以添加数据库连接信息、日志配置、文件上传限制等。需要注意的是,SECRET_KEY是用于加密session数据的密钥,你应该使用一个随机的、安全的字符串来设置它。
另外,你还可以将配置信息存储在独立的配置文件中,并使用app.config.from_pyfile('your_config_file.py')方法加载配置文件。这样可以将配置与代码分离,方便在不同环境下进行配置切换。
4.2 数据库的设计
数据库设计是系统设计中特别重要的一部分。数据库的好坏决定着整个系统的好坏,并且,在之后对数据库的系统维护、更新等功能中,数据库的设计对整个程序有着很大的影响。
根据功能模块的划分结果可知,本系统的用户由于使用账号和密码进行登录,因此在本系统中需要分别进行数据记录。首先根据如下6个数据实体:用户、职位信息等数据库表。
用户的属性包括用户编号、用户名、密码和性别、注册账号的时间。用户实体属性图如图4-2所示:
图4-2 用户实体属性图
根据以上分析,各个实体之间有一定的关系,使实体与实体可以联系起来,建立成整个系统的逻辑结构,本系统中,普通用户通过对职位信息的管理,使职位信息与用户实体存在对应关系。
表4-3 职位类代码
# 创建职位数据表 cursor = conn.cursor() cursor.execute(''' CREATE TABLE IF NOT EXISTS jobs ( id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT, company TEXT, location TEXT, salary INTEGER ) ''') conn.commit() # 插入职位数据def insert_job(title, company, location, salary): cursor.execute('INSERT INTO jobs (title, company, location, salary) VALUES (?, ?, ?, ?)', (title, company, location, salary)) conn.commit() # 查询职位数据def query_jobs(): cursor.execute('SELECT * FROM jobs') return cursor.fetchall() # 更新职位数据def update_job(id, title, company, location, salary): cursor.execute('UPDATE jobs SET title=?, company=?, location=?, salary=? WHERE id=?', (title, company, location, salary, id)) conn.commit() # 删除职位数据def delete_job(id): cursor.execute('DELETE FROM jobs WHERE id=?', (id,)) conn.commit() # 关闭数据库连接def close_connection(): cursor.close() conn.close() |
4.3 系统功能模块实现
用户登录时需要在登录界面输入用户名、密码进行身份认证,要求必须是表单认证、校验。其配置文件中配置了相应的工具类,当用户登录系统进行身份认证和权限控制时,会在该类中从数据库获取到用户信息及其具有的权限信息,并 且比较用户输入的账号是否存在或者输入的密码与数据源中的密码是否匹配。具体流程如时序图如4-2所示。
图4-2登录认证流程图
职位信息大数据分析系统的用户登录界面如下图所4-3所示:
图4-3用户登录界面
登陆成功后,系统会成功跳转至首页,在首页中,位于上方的横栏是对本系统的基本信息的描述和欢迎登录效果,另外登录用户的用户名也会显示在首页中,可直接表明用户己成功登录。左侧则是本系统的导航菜单,可折叠展示,较为方便,右方则为欢迎页效果。职位信息大数据分析系统的首页界面如下图所4-4所示:
图4-4职位信息大数据系统首页界面
4.3.2职位信息管理功能
职位信息管理功能是对职位信息进行查询,删除等操作的功能集合,职位信
息管理功能使用到了职位信息表t_ ob,职位信息表t_job 的主要数据字段,结构,类型及描述如下表4-2所示。
表4-2 职位信息表字段
字段名称 | 数据类型 | 是否允许为空 | 描述 |
id | int | 不允许 | 自增主键,唯一ID |
cityname | String | 允许 | 所在城市名称 |
company | String | 允许 | 企业名称 |
company_size | String | 允许 | 企业规模 |
education | String | 允许 | 学历要求 |
experience | String | 允许 | 经验要求 |
industry | String | 允许 | 所属行业 |
recruiter | String | 允许 | 职位者姓名 |
salary | String | 允许 | 薪资待遇范围 |
职位信息大数据分析系统的职位信息管理功能界面如下图所4-5所示:
图4-5职位信息管理菜单界面
职位信息管理
功能流程功能图如图3-6所示:
图4-6 职位信息管理功能流程图
通过“职位信息管理”按钮,进入职位信息管理界面,用户可以看到职位信息列表,例如:企业名称、所在城市、数量、职位要求、薪资待遇、职位时间的详细信息。通过此界面,用户可以对职位信息进行删除管理操作。
4.3.3职位信息大数据看板功能
数据可视化模块就是对我们采集和计算的分析结果的展示。数据分析模块的
数据进行一个精美而又直接的展示,我们采用大屏的方式进行展示,展示数据结
构分明,背景具有科技感,把相对复杂的、抽象的数据通过可视的、交互的方式
进行展示,从而形象直观地表达数据蕴含的信息和规律。职位信息大数据看板界面如图4-7所示。
图4-7职位信息大数据看板界面
职位信息大数据分析可视化开发的难点并不在于图表类型的多样化,而在于如何能在简单的一页之内让用户读懂职位数据之间的层次与关联,这就关系到布局、色彩、图表、动效的综合运用。如排版布局应服务于业务,避免为展示而展示;配色一般以深色调为主,注重整体背景和单个视觉元素背景的一致性。本文使用Echarts中地图、线条等组件,将分析结果较为直观的展示给平台用户,使得用户能够简便的获取有效的信息。
4.4 本章小结
本章主要分析了基于大数据的职位信息分析系统开发过程中使用到的技术和具体的实现步骤,这其中主要介绍了基于Hive的职位信息大数据分析系统的搭建环境和开发步骤,包括程序中的一些数据库配置等。前端页面采用的是Echarts和html实现。
5 总结与展望
5.1 系统开发遇到的问题
由于基于大数据职位信息分析平台是由本人独立开发,因此在系统设计和业务逻辑方面更多地借鉴了目前市场上较为流行的框架和技术点,包括大数据技术,很多是不熟悉没接触过的,在开发过程中不断学习新知识。另外由于本人的时间和精力的原因,在系统开发过程中有很多地方可能并不能够完全尽如人意,还有许多需要补充的功能与模块。
5.2 总结与展望
大数据职位信息系统是在对相关管理范畴进行详细调研后,确定了系统涉及的领域,包括数据库设计、界面设计等,是一个具有实际应用意义的管理系统。根据本毕业设计要求,经过四个多月的设计与开发,大数据职位信息系统基本开发完毕。其功能基本符合用户的需求。
为保证有足够的技术能力去开发本系统,首先本人对开发过程中所用到的工
具和技术进行了认真地学习和研究,详细地钻研了基于Python的网络爬虫技术
以及Echarts, CSS, HTML等前端开发技术,同时还研究了大数据开发技术Hadoop, HDFS, Hive等。
- 张俊峰,魏瑞斌.国内职位类网站的数据类岗位人才需求特征挖掘[J].情报杂志,2018,37(06):176-182.
- 刘海,王晓钰,王政为等.基于Hadoop的大数据职位分析系统的设计与实现[J].信息与电脑(理论版),2022,34(01):110-112.
- 涂晓彬.基于大数据技术的网络职位岗位需求分析方案[J].信息技术与信息化,2022,(12):31-34.
- 蔡旭坤. 基于Hive和Apache Kylin的生产大数据聚合与管理系统的设计与实现[D].华南理工大学,2019.
- 孙敏,王琳.大数据时代下的数据可视化方法分析[J].软件,2019,40(09):182-184+191.
- 李宝深. 基于大数据的综合求职系统的设计与实现[D].华中科技大学,2019.
- Babiceanu, R.F. and R. Seker. Big Data and virtualization for manufacturing cyber-physical systems: A survey of the current status and future outlook. Computers in Industry, 2016. 81(C): 128~137
- 孙睿. 大数据技术在互联网金融中的运用. 电子技术与软件工程, 2018(10): 182~183
- 叶惠仙.基于Hadoop+Hive技术的职位网站数据分析研究[J].网络安全技术与应用,2020(12):77-79.
- 刘海,王晓钰,王政为等.基于Hadoop的大数据职位分析系统的设计与实现[J].信息与电脑(理论版),2022,34(01):110-112.
- 刘睿伦,叶文豪,高瑞卿等.基于大数据岗位需求的文本聚类研究[J].数据分析与知识发现,2017,1(12):32-40.
- Chen X . Research on the intelligent application scenarios of big data technology in customs declaration and clearance[C]//上海筱虞文化传播有限公司.Proceedings of 2022 International Conference on Cloud Computing,Big Data and Internet of Things(3CBIT2022).[出版者不详],2022:5.DOI:10.26914/c.cnkihy.2022.073847.
时光飞逝,四年的本科生生涯即将结束。在这四年的时光里,有遇到难题时的手足无措,有获得专业进步时的开心。经历了许多的事情,自己也在不知不觉中成长了很多,心中充盈最多的仍是感激。
首先感谢我的导师,她严谨的治学态度深深地影响每位同学。我要感谢我的父母,他们总是默默的付出,在生活上给与我最大的帮助,在学习上也给我很多建议。
最后,由衷的感谢各位评审老师在百忙之中抽出时间来参与我的论文评审和答辨。