Hive 实操案例二:统计 Top10 视频类别热度

一、数据表结构

视频表 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 个

二、具体实现

sql 复制代码
-- 统计视频类别热度(视频个数) Top10
/**
 思路:
   1.由于 category 字段类型为 Array<String>,为便于统计先使用爆炸函数 explode 将字段值扁平化
   2.按照扁平化后的视频类别值分组聚合统计个数
   3.使用排序窗口函数对所有视频类别按个数进行降序编号
   4.使用 where 子句筛选 top10 数据
*/
SELECT 
	rn,
	cg,
	`views`
FROM 
(
	SELECT 
		cg,
		`views`,
		DENSE_RANK() over(ORDER by `views` DESC) as rn 
	FROM 
	(
		SELECT 
			cg,
			sum(1) as `views` 
		FROM t_video
		lateral view explode(category) adtable as cg
		group by cg
	) t1
) t2
WHERE rn<=10;
相关推荐
行业探路者6 分钟前
如何利用二维码提升产品画册的制作与传播?
大数据·人工智能·安全·二维码·设备巡检
安达发公司10 分钟前
安达发|给“工业心脏”装上新大脑:APS生产排产的硬核智慧
大数据·人工智能·aps高级排程·aps排程软件·生产计划排单软件·aps生产排产
悦数图数据库17 分钟前
“复旦大学—杭州悦数先进金融图技术校企联合研究中心年度总结会”圆满举行
大数据·数据库·人工智能
yunni825 分钟前
知识库 × AI写作:打通公文写作的“最后一公里”
大数据·人工智能
TDengine (老段)25 分钟前
TDengine Rust 连接器入门指南
大数据·数据库·物联网·rust·时序数据库·tdengine·涛思数据
极新30 分钟前
新看点/818AI创始人冷煜:AI落地,决胜“最后100米” | 2025极新AIGC峰会演讲实录
大数据·人工智能
hg011835 分钟前
首届中埃咖啡经贸促进大会在株洲召开
大数据
五度易链-区域产业数字化管理平台41 分钟前
金融级数据治理+企业级架构管控:五度易链的数据治理方案与技术路径
大数据·人工智能·金融·架构
song150265372981 小时前
车身颜色 外观性能测试设备-太阳光模拟器
大数据
齐鲁大虾1 小时前
2026高考生填报志愿是保专业还是保学校
大数据·人工智能