分享

hive面试题目:表大概有2T左右,对表数据转换

阿飞 发表于 2014-4-20 14:47:46 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 17 70474
caicai 发表于 2015-10-30 13:15:21
不懂啊啊 啊啊啊啊
回复

使用道具 举报

stwen 发表于 2016-2-25 10:52:07
0.0学习学习
回复

使用道具 举报

fpw85 发表于 2016-9-8 10:35:56
学习学习,那不错的
回复

使用道具 举报

fpw85 发表于 2016-9-8 11:35:17
学习学习,那不错的
回复

使用道具 举报

yadianxk 发表于 2016-11-7 14:20:57
纯HQL ,不是可以用row_number和lag()over()实现么
回复

使用道具 举报

chendongdong 发表于 2018-10-24 14:42:30
xin07020220 发表于 2014-8-28 23:06
对于第二题,当同一个user_id在不同的platform中出现时,此SQL是会有问题的。
a表与b表的关联条件应为 o ...

INSERT OVERWRITE TABLE ALLOG
SELECT t1.platform,t1.user_id,t1.seq,t2.click_url FROM_URL,t1.click_url TO_URL FROM
(SELECT platform,user_id,click_time,click_url,count(1) seq FROM (SELECT a.*,b.click_time click_time1,b.click_url click_url2  FROM trlog a left outer join trlog b on a.user_id = b.user_id and a.platform=b.platform)t WHERE click_time>=click_time1 GROUP BY platform,user_id,click_time,click_url)t1
LEFT OUTER JOIN
(SELECT platform,user_id,click_time,click_url,count(1) seq FROM (SELECT a.*,b.click_time click_time1,b.click_url click_url2  FROM trlog a left outer join trlog b on a.user_id = b.user_id and a.platform=b.platform)t WHERE click_time>=click_time1 GROUP BY platform,user_id,click_time,click_url )t2
on t1.user_id = t2.user_id and t1.platform=t2.platform and t1.seq = t2.seq + 1;

回复

使用道具 举报

若无梦何远方 发表于 2019-8-18 13:35:17
学习了 ,虽然看不懂
回复

使用道具 举报

12
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条