Hive实战之每年最高温度+时间

本文介绍如何使用SQL从包含日期和温度的表格中,提取每年的最高温度及其对应的日期。首先,通过子查询将原始数据转换为年、月、日和温度的格式;其次,创建视图以获取每年的最大温度;最后,通过内连接查询,找出各年份最大温度的具体日期。

 


基表(weather):

时间     温度
2014010114
2014010216
2014010317
2014010410
2014010506
2012010609
2012010732
2012010812
2012010919
2012011023
2001010116
2001010212
2001010310
2001010411
2001010529
2013010619
2013010722
2013010812
2013010929
2013011023

需求:求每一年的最大温度和当时的日期。

实现需求的步骤:

  1,处理基表,把基表转换成年,月,日,温度的形式。

create table tem_weather as select  substr(data,1,4) years ,substr(data,5,2) mon,substr(data,7,2) day,substr(data,9,2) temp from weather ;

  2,创建一个每年的最大温度的视图。

create view tem_view as selelct years as years ,max(temp) as max_temp

from tem_weather group by yeras;

  3,两表内链接查出最大温度的日期。

select * from tem_view a join tem_weather b on a.years=b.yeras and a.max_tmp=b.tmp ;

 

 

转载于:https://www.cnblogs.com/songweideboke/p/9849978.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值