Hive 数据处理实战:员工信息分析

本文将通过一个具体的案例,演示如何使用 Hive 处理员工信息数据,涵盖创建表、数据导入、排序、筛选、统计等操作。

任务描述

现有一份职工数据 emp.csv,记录了公司职工的姓名、职工编号等信息,部分数据如下表。(注:emp.csv 的数据分割符为 ',', mpno 为职工编号,ename 为职工姓名,job 为工作职位,sal 为薪资,deptno 为员工所在部门编号)

| mpno | ename | job | sal | deptno | |---|---|---|---|---| | 7369 | SMITH | CLERK | 800 | 20 | | 7499 | ALLEN | SALESMAN | 1600 | 30 | | 7521 | WARD | SALESMAN | 1250 | 30 | | 7566 | JONES | MANAGER | 2975 | 20 | | 7654 | MARTIN | SALESMAN | 1250 | 30 | | 7698 | BLAKE | MANAGER | 2850 | 30 | | 7782 | CLARK | MANAGER | 2450 | 10 | | 7788 | SCOTT | ANALYST | 3000 | 20 | | 7839 | KING | PRESIDENT | 5000 | 10 | | 7844 | TURNER | SALESMAN | 1500 | 30 | | 7876 | ADAMS | CLERK | 1100 | 20 | | 7900 | JAMES | CLERK | 950 | 30 | | 7902 | FORD | ANALYST | 3000 | 20 | | 7934 | MILLER | CLERK | 1300 | 10 |

任务步骤

1. 启动 Hive 集群服务

start-all.sh
service mysql start
hive --service metastore &

2. 创建 Hive 表

CREATE TABLE emp(
    mpno INT,
    ename STRING,
    job STRING,
    sal DOUBLE,
    deptno INT
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;

3. 导入数据

LOAD DATA LOCAL INPATH '/course/Hive/data/emp.csv' INTO TABLE emp;

emp表数据截图

4. 排序

SELECT * FROM emp ORDER BY mpno ASC, sal DESC;

数据排序结果截图

5. 筛选薪资大于 3000 的员工

SELECT * FROM emp WHERE sal > 3000;

查询结果截图

6. 查询 10 号部门中薪资大于 1500 的员工姓名

SELECT ename FROM emp WHERE deptno = 10 AND sal > 1500;

查询结果截图

7. 统计每个部门的员工数

SELECT deptno, COUNT(*) FROM emp GROUP BY deptno;

查询结果截图

总结

通过以上步骤,我们成功地使用 Hive 处理了员工信息数据,完成了创建表、数据导入、排序、筛选、统计等操作。这些操作体现了 Hive 在数据处理方面的强大功能,可以帮助用户快速、高效地分析数据并得出结论。

Hive 数据处理实战:员工信息分析

原文地址: https://www.cveoy.top/t/topic/fwZ4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录