专栏首页Jed的技术阶梯Hive案例03-最高气温

Hive案例03-最高气温

1. 题目要求

现有hive表temp,其中只有一个字段(temp_record string),每一行代表某一天的气温,比如,2014010114代表,2014年1月1日的气温为14度,表中数据如下:

hive> select * from temp;

2014010114
2014010216
2014010317
2014010410
2014010506
2012010609
2012010732
2012010812
2012010919
2012011023
2001010116
2001010212
2001010310
2001010411
2001010529
2013010619
2013010722
2013010812
2013010929
2013011023
2008010105
2008010216
2008010337
2008010414
2008010516
2007010619
2007010712
2007010812
2007010999
2007011023
2010010114
2010010216
2010010317
2010010410
2010010506
2015010649
2015010722
2015010812
2015010999
2015011023

要求:用hive求出每一年的最大气温那条记录 注意:数据格式不能改变,例如求出来2015年的最大气温那条记录为2015010999

2. 参考答案

--(1)
create table temp_column as
SELECT substring(temp_record, 1, 4) year, substring(temp_record, 5, 4) day, substring(temp_record, 9) temp 
FROM temp;

/* temp_column表中数据:
2014    0101    14
2014    0102    16
2014    0103    17
2014    0104    10
......
*/

--(2)
create table temp_index as
select year, day, temp, 
row_number() over(distribute by year sort by temp desc) as index 
from temp_column;

/*  temp_index表中数据:
2001    0105    29  1
2001    0101    16  2
2001    0102    12  3
2001    0104    11  4
2001    0103    10  5
......
*/

--(3)
select concat(year, day, temp) from temp_index where index = 1;

/* 最终结果:
2001010529
2007010999
2008010337
2010010317
2012010732
2013010929
2014010317
2015010999
*/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • [算法题] 使用数组实现栈和队列

    CoderJed
  • 021.Elasticsearch索引管理高级篇

    在开发中,随着业务需求的迭代,较老的业务逻辑就要面临更新甚至是重构,而对于ES来说,为了适应新的业务逻辑,可能就要对原有的索引做一些修改,比如对某些字段做调整,...

    CoderJed
  • zookeeper-3.4.10的安装配置

    leader:能接收所有的读写请求,也可以处理所有的读写请求,而且整个集群中的所有写数据请求都是由leader进行处理 follower:能接收所有的读写请求...

    CoderJed
  • R批量读取、处理及写出文件

    在对同一路径下多个文件做相同处理时,可以循环读取文件夹中的文件,批量读取,处理和写入文件,会大大提高工作效率,在R语言中,处理方法如下所示。

    生信编程日常
  • YCbCr444转YCbCr422

    YCbCr颜色空间是YUV颜色空间的缩放和偏移版本。Y定义为8bit,标称颜色范围为16-235;Cb和Cr标称颜色表示范围为16-240。YCbCr的采样格式...

    FPGA开源工作室
  • JAVA解决json中存在双引号问题

    有时候我们解析json的时候,经常从某处copy一段json,但是json中存在令人讨厌的双引号,解析起来非常麻烦,如果想要解析这段json,就得先将双引号处理...

    一诺千金
  • 【LeetCode】设计哈希集合 哈希表探索

    韩旭051
  • 【自考】大学本科那个数据结构怎么学,期末不挂科指南,第1篇

    当然,你现在没上大学或者不是计算机专业,那你现在应该知道了,他们有个必修课叫《数据结构导论》

    梦想橡皮擦
  • phpexcel踩坑记

    最近在使用phpexcel扩展处理表格导入的时候,遇到两个坑,现做以下记录 坑一:excel表中的富文本导入后数据始终不对 解决方法:假设$temp为循环读...

    lestat
  • 【排序】快速排序

    爱笑的架构师

扫码关注云+社区

领取腾讯云代金券