首页 > 其他分享 >Hive 实操案例六:统计上传视频最多的用户 Top10 以及他们上传的视频观看次数在前 20 的视频

Hive 实操案例六:统计上传视频最多的用户 Top10 以及他们上传的视频观看次数在前 20 的视频

时间:2024-06-30 19:00:45浏览次数:19  
标签:视频 20 videoid num uploader 上传

一、数据表结构

视频表 t_video

字段注释描述
videoId视频唯一 id(String)11 位字符串
uploader视频上传者(String)上传视频的用户名 String
age视频年龄(int)视频在平台上的整数天
category视频类别(Array<String>上传视频指定的视频分类
length视频长度(Int)整形数字标识的视频长度
views观看次数(Int)视频被浏览的次数
rate视频评分(Double)满分 5 分
Ratings流量(Int)视频的流量,整型数字
conments评论数(Int)一个视频的整数评论数
relatedId相关视频 id(Array<String>相关视频的 id,最多 20 个

用户表 t_user

字段注释类型
uploader上传者用户名string
videos上传视频数int
friends朋友数量int

二、具体实现

-- 统计上传视频最多的用户 Top10 以及他们上传的视频观看次数在前 20 的视频
/**
  思路:
    1.处理结果集 1:在用户表中按照 uploader 分组聚合统计每个用户的总上传视频数,再使用 order by 降序和 limit 获取前 10 的用户
    2.处理结果集 2:在视频表中按照 videoid 和 uploader 分组聚合统计观看次数
    3.使用结果集 1 左连接结果集 2,关联字段为 uploader,然后使用排序窗口函数按左表的 uploader 分组,右表的观看次数降序进行组内编号
    4.使用 where 子句选取前 20 的数据
*/
SELECT 
	uploader,
	videoid,
	num,
	rn 
FROM 
(
	SELECT 
		a.uploader,
		b.videoid,
		b.num,
		DENSE_RANK() over(PARTITION by a.uploader ORDER by b.num DESC) as rn 
	FROM 
	(
		SELECT 
			uploader,
			SUM(videos) as videos  
		FROM t_user
		group by uploader 
		order by videos DESC 
		limit 10
	) a
	left join
	(
		SELECT 
			videoid,
			uploader,
			SUM(`views`) as num 
		FROM t_video
		group by videoid, uploader
	) b
	on a.uploader=b.uploader
) t
WHERE rn <= 20;

标签:视频,20,videoid,num,uploader,上传
From: https://blog.csdn.net/weixin_44480009/article/details/140084530

相关文章

  • Hive 实操案例五:统计每个类别中 Top10 的视频热度
    一、数据表结构视频表t_video字段注释描述videoId视频唯一id(String)11位字符串uploader视频上传者(String)上传视频的用户名Stringage视频年龄(int)视频在平台上的整数天category视频类别(Array<String>)上传视频指定的视频分类length视频长度(Int)整形数字标识的视频长度vie......
  • Arturia - FX Collection 5 v5.0.0 VST, VST3, AAX x64 {R2R} [13.06.2024]
    Arturia-FXCollection5v5.0.0forWindowsmac【【新品发布+小广告】ArturiaFXCollection5超强音乐制作插件套装34款产品逐一点评】https://www.bilibili.com/video/B...4d4e7f5c56f93e901cd    包括BusEXCITER-104BusFORCEBusPEAKChorusDIMENSION-DCh......
  • 深圳国际渔业博览会论坛讲座材料(2023年)
    数据年限:2023年深圳国际渔业博览会(2023.5.11-5.13)数据格式:pdf(现场拍照整理)数据内容:分为四个论坛讲座内容,共22个高质量汇报内容,包括现代渔业高质量发展主论坛、现代水产种业合作发展院士论坛、渔业资源养护科技论坛、中国休闲渔业高峰论坛等,分论坛主要围绕渔业及相关领域的关......
  • 23201115-邓俊豪-第三次blog
    目录blog2前言关于难度和题目量关于知识点设计与分析pta-7一、项目简介二、项目实现三、项目测试四、代码示例五、总结六、代码分析pta-8一、项目简介二、项目实现三、项目测试四、代码示例五、总结六、代码分析改进建议blog2前言关于难度和题目量前三次大作业难度属于偏难水......
  • FireFox 编译指南2024 Windows10篇-环境准备(一)
    1.引言在开源浏览器项目中,Firefox因其高性能和灵活性而备受开发者青睐。为了在本地环境中编译和定制Firefox,开发者需要做好充分的环境准备工作。这不仅是编译成功的基础,也是后续调试、优化和二次开发的关键步骤。编译Firefox是一个复杂而耗时的过程,涉及大量的代码文件和依赖......
  • 搭载飞腾FT2000+/64处理器全国产加固服务器
        搭载飞腾FT2000+/64,64核服务器平台的加固服务器是专为高安全性、高可靠性及能在严苛环境下稳定运行而设计的服务器产品。服务器采用国产飞腾处理器为核心,体现了自主可控的技术特点,广泛适用于政府、军事、航天等领域。   以下是我们自主研发的加固服务器的一......
  • 基于飞腾FT2000/D2000处理器国产化网安系统
        国产化网安是指基于国产软硬件构建的网络安全防护体系,从底层芯片、操作系统、数据库、中间件到上层应用软件,均采用国产自主可控的技术和产品。这样的系统旨在提高信息安全水平,确保数据和通信的保密性、完整性和可用性,同时减少对外部技术的依赖,增强国家网络空间的安......
  • 如何从华为恢复永久删除的视频?
    在从华为恢复永久删除的视频时,这个过程可能很艰难。您可能想知道,如何从华为恢复永久删除的视频?本指南全面概述了有效的恢复方法。无论删除是意外还是由于其他问题,一些策略和工具都可以帮助您恢复宝贵的视频内容。我们将探索这些选项,提供清晰实用的建议,以帮助您恢复失去的记忆。......
  • VS2022 csproject文件增加发布时文件项
    发布时新加的node_modules 总是不会伴随着其他文件一起发布到文件夹里面。一个一个添加选项太麻烦了。百度查询后发现可以通过修改csproject 把node_modules  //添加节点即可<ItemGroup><ContentInclude="wwwroot\assets\node_modules\**"><CopyToOutputDirectory>P......
  • 2024Java基础八股文(背诵版)
    Java基础八股文(背诵版)Java语言具有哪些特点?Java为纯面向对象的语言。它能够直接反应现实生活中的对象。具有平台无关性。Java利用Java虚拟机运行字节码,无论是在Windows、Linux还是MacOS等其它平台对Java程序进行编译,编译后的程序可在其它平台运行。Java为解释型......