hive
文章平均质量分 83
hive学习
@nanami
悠毛饼
展开
-
hiveSql 百度面试题-连续签到领金币
用户在文章页可以每天签到,签到按照某种规则可获取金币,需统计每个用户每月获取金币数。有用户签到明细表:记录用户进入签到页,点击签到按钮后退出log数据。部分表数据明细如下:领取金币规则:(1)只要用户签到就能获取一枚金币(2)连续签到第三天和第七天分别可以在每天一枚的基础上额外再获取2枚和6金币(3)连续签到7天后进行重置,按照规则(1)和(2)进行新一轮领币(4)用户进入时间和离开时间如果跨天 按照进入时间计算打卡时间上述举例明细中,用户id:1在2022-07-07到2022-07-15号连续原创 2023-01-06 20:05:57 · 719 阅读 · 1 评论 -
hiveSql 京东面试题-有效值问题
有入库成本表,一个商品每次入库就会产生一条数据,里面包含商品id,入库时间time,以及入库采购的成本。但由于某些某些原因,导致表中某些数据的成本是有丢失的。现在的逻辑是:当成本丢失时,有两种取成本的方式,现在需要把两种成本都取出来,最后取2次成本的平均值作为本次入库的成本。取数逻辑如下:具体数据如下:可见截图中商品id为2的商品在2022-12-02号和2022-12-03号的入库成本丢失,按照上述取数逻辑,会生成两个新的字段last_cost、next_cost。其中last_cost是当前丢失原创 2023-01-04 07:30:00 · 738 阅读 · 0 评论 -
hiveSql 构建连续日期
有如下数据期望构建如下数据:期望数据是将已有数据补齐2022-12-01到2022-12-07号日期,没有的日期value为0,然后计算每组id内的累加value值。从期望数据角度看,咱们如果有每组id的2022-12-01到2022-12-07的数据,作为主表left join已有数据,再一个sum()over() 就很简单了,关键在于如何构造连续日期。构造连续日期,且分成多行很容易想到利用repeat()函数,和posexplode()拆分重复的字符串,构建多行带索引的数据。再利用行索引与2022-1原创 2022-12-29 23:15:00 · 884 阅读 · 2 评论 -
hiveSql 重分组聚合问题
将下图中A表转变为B和C,即A->B A->C2)第二种分析思路解法:此处利用repeat()方法,重复name分组个数,按照空格连接,但是最后会多出一个空格,利用trim()将前后空格去除,再将空格替换为竖线连接name即可结果:结果:喜欢的点赞、关注、收藏吧~ 你的支持是最大的创作动力~~原创 2022-12-28 23:53:07 · 752 阅读 · 1 评论 -
hiveSql 连续区间的起始结束位置
有登录日志,求每个用户的每次连续登录的起始和结束日期有用户登录日志如下:表:user_login,userid:用户id,date:登录日期为了简化说明这里date日期用数字表示。这里需求想要最终结果为:连续时间的起始,结束日期到这里可以先思考下如何用hivesql实现很明显这里是利用重分组思想,将连续的日期分到同一组之后,取组内的最大最小值即可最后喜欢的点赞、关注、收藏吧~ 感谢支持~~原创 2022-12-07 00:47:23 · 429 阅读 · 0 评论 -
hiveSql冷门但好用函数 --持续更新
hiveSql冷门但好用函数 --持续更新原创 2022-11-30 19:39:57 · 4051 阅读 · 0 评论 -
hiveSql 相互关注问题
hiveSql 优化的解决相互关注问题原创 2022-11-28 23:12:01 · 2073 阅读 · 3 评论 -
hiveSql 跨N天最大连续统计
hiveSql 跨N天最大连续统计原创 2022-11-17 13:13:44 · 824 阅读 · 0 评论 -
hiveSql 各时段观看直播人数
各时段观看直播人数原创 2022-11-14 14:01:24 · 1317 阅读 · 0 评论 -
hiveSql 计算两段时间范围交集的连续每月天数
HQL计算两段时间范围交集的连续每月天数原创 2022-07-17 19:27:18 · 1487 阅读 · 1 评论 -
hiveSql完成递归计算2.0
hiveSql实现递归思想,计算数据原创 2022-03-31 07:00:00 · 5222 阅读 · 15 评论 -
Hive Sql完成过滤每组累积去重数低于某值计算
如何一条sql搞定限定组内截止去重数?原创 2022-02-20 12:39:50 · 2752 阅读 · 0 评论 -
hiveSql 实现计算用户的最大连续登录天数 & 创建断连后的连续序号
这里写目录标题1.需求一:1.1.已有数据1.2.期望结果1.3.分析1.4.实现2.需求二2.1.已有数据2.2.期望结果2.3.分析2.4.实现方式一2.5.实现方式二1.需求一:计算每个用户在一段时间内的最大连续登录天数1.1.已有数据usernamelogintimeA2021-10-01A2021-10-02A2021-10-03A2021-10-05A2021-10-06A2021-10-09B2021-10-01原创 2021-10-22 16:59:06 · 3660 阅读 · 3 评论 -
hiveSql完成类递归计算
问题每个月有阅读数据如下:需要计算截止到每个月,前月距离当月月数乘前月阅读数累计之和。听起来比较绕,举个栗子:图中每个月的阅读量是a,b,c,d,e。计算结果result如图公式。原创 2021-05-13 13:59:42 · 10219 阅读 · 4 评论 -
HIVE窗口函数合集 -- 持续更新
HIVE窗口函数合集NTILERANKDENSE_RANKROW_RANKLAGLEADFIRST_VALUELAST_VALUENTILENTILE() OVER(PARTITION BY COL1 ORDER BY COL2):按照分组排序后将数据切分为n个分区:若组内数据比分区数多(一组8条数据,要分为6个分区):则先分满6个(16)在从小到大分区(即12)最后分区是(11223456)若组内数据比分区数少(一组8条数据,要分为10个分区):则按照顺序分区即可(12345678)RANKR原创 2021-03-22 00:17:27 · 2211 阅读 · 10 评论 -
hive中的高阶函数-窗口函数
窗口函数的使用,配合聚合函数使用,能够更加灵活的规约表的格式,大大减少工作量说在前面窗口函数,执行顺序是最后执行仅仅是在order by之前执行。o...转载 2020-06-02 13:58:32 · 322 阅读 · 0 评论 -
某指标的次/三/七/十四/三十日留存计算
计算每日某个指标留存,实现定时脚本原创 2019-10-23 14:11:15 · 2282 阅读 · 1 评论