既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
每日语录
学习!还是他娘地学习!
第29题 需求二: 过去一周内的曝光点赞数据
1. 需求列表
需要输出一张中间 dws 层表:要求能够查询每个视频创建者 user_id 最近发布的 3 个视频,在过去一周内的曝光,点赞数据
需要产出字段:视频创建者 user_id,曝光用户,点赞用户数,曝光次数、点赞次数
思路分析
首先使用WITH
子句定义了三个临时表:
recent_videos
:查询过去一周内发布的所有视频,并使用ROW_NUMBER()
函数为每个视频创建者的视频分配一个行号,按照视频创建时间降序排列。top_3_videos
:从recent_videos
表中选择行号小于等于3的视频,即每个视频创建者最近发布的3个视频。video_action
:将top_3_videos
表与t_user_video_action_d
表连接,以获取每个视频创建者最近发布的3个视频在过去一周内的曝光和点赞数据。使用聚合函数计算曝光用户数,点赞用户数,曝光次数和点赞次数。
最后,从video_action
表中选择所需字段即可。
答案获取
建议你先动脑思考,动手写一写再对照看下答案,如果实在不懂可以点击下方卡片,回复:大厂sql
即可。
参考答案适用HQL,SparkSQL,FlinkSQL,即大数据组件,其他SQL需自行修改。
加技术群讨论
点击下方卡片关注 联系我进群
或者直接私信我进群
附表
用户行为表:t_user_video_action_d分区:ds(格式 yyyyMMdd) 主键:user_id、video_id
含义:一个 user 对一个视频的所有行为聚合,每天增量字段:
字段名 | 字段含义 | 类型 |
---|---|---|
user_id | 用 户 id | string |
video_id | 视 频 id | string |
expose_cnt | 曝光次数 | int |
like_cnt | 点赞次数 | int |
视频表:t_video_d
分区:ds(格式 yyyyMMdd)主键:video_id
含义:当天全量视频数据字段:
字段名 | 字段含义 | 类型 | 枚举 |
---|---|---|---|
video_id | 视 频 id | string | |
video_type | 视频类型 | string | 娱乐、新闻、搞笑 |
video_user_id | 视频创建者 user_id | string | |
video_create_time | 视频创建时间 | bigint |
作者表:t_video_user_d
分区:ds(格式 yyyyMMdd)主键:video_user_id
含义:当天全量视频创建者数据
字段名 | 字段含义 | 类型 | 枚举 |
---|---|---|---|
video_user_id | 视频创建者 user_id | string | |
video_user_name | 名称 | string | |
video_user_type | 视频创建者类型 | string | 娱乐、新闻、搞笑 |
-- 建表
create table if not exists t_user_video_action_d (
user_id string comment "用户id", video_id string comment "视频id", expose_cnt int comment "曝光次数", like_cnt int comment "点赞次数"
)
partitioned by (ds string);
![img](https://img-blog.csdnimg.cn/img_convert/51708cba396d5720b10c1a2aee367b68.png)
![img](https://img-blog.csdnimg.cn/img_convert/34a798fee21f33692d9d9d90446aaa5e.png)
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
00ff254613a03fab5e56a57acb)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**