当前位置: 首页 > news >正文

招聘网站—Hive数据分析

招聘网站—Hive数据分析

第1关:统计最热门的十种职业(招聘人数最多)

#进入hive

hive

#在hive中创建数据库 mydb

create database mydb;

#使用数据库 mydb

use mydb;

#创建表 recruitcleaned 并使用"/t"分割字段

create table recruitcleaned(job_name string,city string, salary string, workingExp string, edu string, company_name string, company_size string, welfare string, skill string) row format delimited fields terminated by '\t' stored as textfile;

#将本地清洗后的数据导入recruitcleaned中

load data local inpath '/data/workspace/myshixun/data/advertise.txt' into table recruitcleaned;

#创建 recruitersnumbers 表存放最热门的十种职业的数据

create table recruitersnumbers(job_name string, count int) row format delimited fields terminated by '\t' stored as textfile;

#将结果存入至 recruitersnumbers 表中

insert overwrite table recruitersnumbers select job_name,count(*) count from recruitcleaned group by job_name order by count desc limit 10;

第2关:分析学历相同的情况下每种职位的平均薪资

#创建 edulevelsalary 表

create table edulevelsalary(edu string, job_name string,salary double) row format delimited fields terminated by '\t' stored as textfile;

#将结果存入至 edulevelsalary 表中

insert overwrite table edulevelsalary select edu,job_name,avg(salary)salary from recruitcleaned group by edu,job_name;

第3关:统计各个职业要求具备的技能及其出现的次数

#创建 jobskill 表

create table jobskill(job_name string, skill string,count int) row format delimited fields terminated by '\t' stored as textfile;

#将结果存入至 edulevelsalary 表中

insert overwrite table jobskill select job_name,skill, count(*) count from (select job_name,subview.* from recruitcleaned lateral view explode(split(skill,'\\|')) subview as skill)t1 group by job_name,skill order by job_name,count;

第4关:分析每种职业在各个薪资等级需要招聘的人数

#创建 jobsalarylevel 表

create table jobsalarylevel(job_name string, salary string,count int) row format delimited fields terminated by '\t' stored as textfile;

#将结果存入至 edulevelsalary 表中

insert overwrite table jobsalarylevel select job_name,salary,count(*) count from (select job_name,case when  0<=recruitcleaned.salary and recruitcleaned.salary< 10 then 'primary' when  10<=recruitcleaned.salary and recruitcleaned.salary< 20 then 'intermediate' when recruitcleaned.salary>=20 then 'senior' else 'other' END as salary from recruitcleaned ) t1 group by job_name,salary;
http://www.lryc.cn/news/91782.html

相关文章:

  • 双指针滑动窗口整理1——长度最小的子数组、水果成篮
  • textarea之换行、replace、\n、br、innerHTML
  • SKD240
  • 大数据采集怎么做呢?
  • 【学习日记】操作系统-入门知识-个人学习记录
  • ChatGPT自动生成思维导图
  • count(0)、count(1)和count(*)、count(列名) 的区别
  • python爬虫入门,10分钟就够了,这可能是我见过最简单的基础教学
  • 华为OD机试真题 Java 实现【记票统计】【牛客练习题】
  • .NET并行计算
  • Python:Python编程:金融量化交易
  • 「HTML和CSS入门指南」canvas 标签详解
  • 【JS】1699- 重学 JavaScript API - WebSockets API
  • String s = new String(“xyz“) 创建了几个对象?
  • STL库(1)
  • 玻璃制品行业丨外贸业务管理难点及解决方案
  • Spring Boot如何实现自定义Spring Boot启动器
  • 【面试题HTTP中的两种请求方法】GET 和 POST 有什么区别?
  • Allegro16.6详细教程(三)
  • Python3数据分析与挖掘建模(6)离散分布分析示例
  • 汇编语言程序设计基础知识二
  • 一文详解!Robot Framework Selenium UI自动化测试入门篇
  • Java 9 模块化系统详解
  • Windows定时执行Python脚本
  • 数据科学简介:如何使用 Pandas 库处理 CSV 文件
  • 面试专题:java多线程(2)-- 线程池
  • Linux文件权限及用户管理
  • 以AI为灯,照亮医疗放射防护监管盲区
  • Golang单元测试详解(一):单元测试的基本使用方法
  • 数据库的序列