解决问题:hive中count(distinct ) over() 无法使用场景
累计去除统计,实际经常使用到的场景比如会员每日历史累计消费,项目每日累计营收等。
案例:
数据准备:
用户轨迹用户访问日志表 test_visit_tab
cookieid(用户id) uvdate(访问时间) pagename(浏览页面) pv(访问次数)
cookie1 2022-02-01 A_page 1
cookie1 2022-02-01 B_page 2
cookie1 2022-02-02 A_page 1
cookie1 2022-02-02 B_page 3
cookie2 2022-02-01 A_page 1
cookie2 2022-02-01 B_page 5
cookie2 2022-02-03 A_page 2
cookie3 2022-02-02 A_page 6
cookie3 2022-02-02 B_page 3
cookie3 2022-02-03 A_page 1
cookie3 2022-02-03 B_page 2
cookie3 2022-02-04 A_page 1
cookie3 2022-02-04 B_page 5
cookie4 2022-02-05 A_page 1
cookie4 2022-02-05 B_page 4
需要统计的效果按照uvdate时间统计截止当前访问人数,统计效果
uvdate uv(当天uv) add_uv(截止当天uv)
2022-02-01 2 2
2022-02-02 2 3
2022-02-03 2 3
2022-02-04 1 3
2022-02-05 1 4
开窗count(distinct )over(order by)尝试