任务描述
知识点:
- 使用Hive进行数据分析
重 点:
- 掌握Hive基本语句
- 熟练使用Hive对天气数据进行分析
内 容:
- 使用Hive创建外部表
- 使用Hive对数据进行统计分析
任务指导
1. 使用Hive创建基础表
- 将China_stn_city.csv文件上传到HDFS的/china_stn目录中
- 启动metastore(后台运行)
- 进入Hive命令行模式,创建Hive数据库(china_all)
- 创建Hive外部表:china_all,并加载HDFS上/china_all的数据
- 创建基站与城市对应关系表:stn_city
- 创建天气数据与各城市的对应表
- 创建2022年天气数据表:tmp_city_2022,基于tmp_city获取2022年全年的天气数据,并将数据插入到tmp_city_2022表中
2. 使用Hive分析数据(可视化数据支持)
1)统计2022年每个月各省份的平均气温及平均风速
- 创建china_map表,表字段包含:月份,省份,平均气温,平均风速
- 统计2022年每个月各省份的平均气温及平均风速,由于气温与风速数据中存在缺失值"-9999",所以统计平均气温和平均风速时只统计不等于(<>)"-9999"的数据
2)统计2022年每个月平均降水量TOP10的城市
- 创建city_precipitation_top10表,表字段包含:月份,城市,平均降水量(6小时)
- 统计2022年每个月平均降水量TOP10的城市。本次查询通过两次子查询进行统计,通过第一次子查询获取2022年每个月各个城市的平均降水量(原数据中关于降水量的有两个字段“precipitation_1 string”和“precipitation_6 string”,分别为1小时内的降水量与6小时内的降水量,此时我们统计各城市平均6小时内的降水量),基于第一次子查询所得的结果,使用row_number()函数对各城市的平均降水量进行排名,进行第二次子查询,通过两次子查询分别获取到平均降水量以及排名,最后使用最外层查询根据排名取得前十的城市
3)统计2022年每个月各个城市的平均气温
- 创建city_temp表,表字段包含:月份,城市,平均气温
- 统计2022年每个月各个城市的平均气温