面试题目一
场景:一个日志表中记录了某个商户费率变化状态的所有信息,现在有个需求,要取出按照时间轴顺序,发生了状态变化的数据行;
1.数据如下:
create table datafrog_merchant
(f_merchant_id varchar(20),
f_rate varchar(20),
f_date date
);
insert into datafrog_merchant values
(100,0.1,'2016-03-02'),
(100,0.1,'2016-02-02'),
(100,0.2,'2016-03-05'),
(100,0.2,'2016-03-06'),
(100,0.3,'2016-03-07'),
(100,0.1,'2016-03-09'),
(100,0.1,'2016-03-10'),
(100,0.1,'2016-03-10'),
(200,0.1,'2016-03-10'),
(200,0.1,'2016-02-02'),
(200,0.2,'2016-03-05'),
(200,0.2,'2016-03-06'),
(200,0.3,'2016-03-07'),
(200,0.1,'2016-03-09'),
(200,0.1,'2016-03-10'),
(200,0.1,'2016-03-10');

本文通过两道面试题目展示了如何在Hive中处理状态变化的数据。第一题利用Lag或Lead函数判断状态变化;第二题探讨了MySQL的解决思路,并对比了MySQL与Hive在数据分析上的差异,强调了Hive在复杂分析场景中的优势,如with as、row_number() over()和lag()函数的应用。
订阅专栏 解锁全文
692

被折叠的 条评论
为什么被折叠?



