hive
Dylan ZhaoHT
这个作者很懒,什么都没留下…
展开
-
一个包含数据0与数字1字符串,求得每个1出现的位置
引申为只包含2种字符的字符串,求其中一种字符出现位置。原创 2023-09-14 14:18:15 · 112 阅读 · 0 评论 -
hive连续N天登录sql
1、连续N天登录select user_id,ds,ds_6from(SELECT user_id ,ds ,lead(ds,6,null) over(PARTITION BY user_id ORDER BY ds ASC) ds_6FROM ( SELECT DISTINCT ds ,user_id FROM dwd_user_log原创 2022-01-11 14:55:03 · 344 阅读 · 0 评论 -
HIVE时间范围生成时间点(爆炸函数一行生成多行两列)
1、建立时间维度表将时间范围与时间维度表生成笛卡尔积SELECT /*+MAPJOIN(b)*/ a.start_date ,a.end_date ,b.timeFROM ( SELECT '2020-01-01 10:00:00' AS start_date ,'2020-01-02 11:12:00' AS end_date ) aJOIN (原创 2021-08-20 14:16:11 · 1706 阅读 · 0 评论 -
数据漂移的理解
数据漂移的概念:同一业务日期下的数据包含了不属于该业务日期的数据(上一天数据漂移到当天,或者当天数据漂移到下一天)或者缺失了该业务日期数据或该业务日期下的数据非最新数仓常用4个时间介绍(1)数据库表中用于记录具体业务过程发生时间的时间戳字段(假设这类字段叫create_time);(2)数据库表中用来表示数据记录更新时间的时间戳字段(假设这类字段叫update_time);(3)数据库日志表中用来表示数据记录更新时间的时间戳字段(假设这类字段叫log_time);(4)标识数据记录被抽取到时间的原创 2021-05-17 19:36:52 · 6668 阅读 · 0 评论 -
HIVE with rollup、with cube、grouping sets的区别及字段中存在空值或字段不参与分组时区分方法grouping及 grouping__id计算方法
1、with rollupselect TO_CHAR(create_time,'yyyymmdd') date ,platform,sign_channel,count(*) cnt from sign_tablegroup by TO_CHAR(create_time,'yyyymmdd') ,platform,sign_channelwith rollup ;程序会以日期为基准逐步下卷,结果如下![在这里插入图片描述](https://img-blog.csdnimg.cn/原创 2021-05-10 16:08:11 · 938 阅读 · 0 评论