求年度最大连续登陆天数?
pk,20210801 |
思路:
- 提取关键词年度、连续登陆、最大
解决:
- 在Spark SQL中有
DayOfYear()
函数来确定当前传入的时间是一年中的哪一天。 - 对day使用
row_number()
开窗,按照用户分区、时间排序。 - 对每一行天数减去排名,得到一个常数值diff。
- 对上面的结果按照用户和diff分区,并对diff求
count()
,得到succession_day。 - 对上面的结果按照用户分区,并对succession_day求
max()
,得到用户的最大连续登陆天数。
代码:
select |
结果:
pk 4 |