酒店入住数据分析:Hive实战案例
酒店入住数据分析: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 对酒店入住数据进行基本分析。你可以根据实际需求修改代码,进行更深入的数据分析。
原文地址: https://www.cveoy.top/t/topic/fwZ2 著作权归作者所有。请勿转载和采集!