酒店入住数据分析:Hive实战案例

本教程将带你使用 Hive 对酒店入住数据进行分析。

1. 数据准备

假设你有一个名为 'hotel.csv' 的文件,其中包含以下字段:

| 字段名 | 数据类型 | 说明 ||---|---|---|| id | INT | 编号 || name | STRING | 姓名 || gender | STRING | 性别 || age | INT | 年龄 || check_in_date | STRING | 入住日期 || check_out_date | STRING | 退房日期 || room_type | STRING | 房间类型 || deposit | DOUBLE | 押金 || stay_days | INT | 入住天数 |

2. 启动服务

确保你的 Hadoop 集群、MySQL 和 Hive 服务已正常启动。

3. 创建 Hive 表

使用以下代码在 Hive 中创建一个名为 'hotel' 的表:sqlCREATE TABLE hotel ( id INT, name STRING, gender STRING, age INT, check_in_date STRING, check_out_date STRING, room_type STRING, deposit DOUBLE, stay_days INT) ROW FORMAT DELIMITEDFIELDS TERMINATED BY ','STORED AS TEXTFILE;

4. 导入数据

将 'hotel.csv' 文件中的数据导入到 'hotel' 表中:sqlLOAD DATA LOCAL INPATH '/course/Hive/data/hotel.csv' INTO TABLE hotel;

5. 数据查询

5.1 查看前 10 行数据sqlSELECT * FROM hotel LIMIT 10;

5.2 查询入住天数大于 3 天的数据sqlSELECT * FROM hotel WHERE stay_days > 3;

5.3 查询押金大于 100 的记录,按押金降序排序sqlSELECT * FROM hotel WHERE deposit > 100 ORDER BY deposit DESC;

5.4 统计客户入住次数,查询入住次数最多的客户名称以及入住次数最多的房间名称sql-- 统计客户入住次数SELECT name, COUNT(*) AS stay_count FROM hotel GROUP BY name ORDER BY stay_count DESC LIMIT 1;

-- 统计入住次数最多的房间名称SELECT room_type, COUNT(*) AS room_count FROM hotel GROUP BY room_type ORDER BY room_count DESC LIMIT 1;

6. 总结

本教程介绍了如何使用 Hive 对酒店入住数据进行基本分析。你可以根据实际需求修改代码,进行更深入的数据分析。

酒店入住数据分析:Hive实战案例

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

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