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;
相关推荐
Eboat_System4 分钟前
国产电动船外机哪家靠谱
大数据·交通物流
安全指北针7 分钟前
IDC《中国数据安全技术发展路线图,2025》:数据安全管理平台推荐厂商
大数据·数据库·人工智能
Delite8027 分钟前
油水共存工况下的锈蚀防控:液相锈蚀测试技术与应用解析
大数据·人工智能
TMT星球12 分钟前
美团2026年Q2财报:收入1046亿元,同比增长14.4%
大数据·人工智能
laotiemen66620 分钟前
亲测好用的家居MES,实践经验分享!
大数据·人工智能·云计算·软件需求
数智启示录32 分钟前
Flink CDC 机制精讲(五):Operator UID、Savepoint 与安全升级 【面试宝典】
大数据·面试·flink
technology_x34 分钟前
直流充电桩厂家哪家好?2026年功率与效率对比
大数据
Raas10035 分钟前
MAI Gateway(魔芋企业级AI网关)科普:AI网关解决什么问题?3分钟搞懂AI网关
大数据·人工智能·ai·gateway
Leo.yuan41 分钟前
流批一体数据开发平台选型:除了Flink和Spark,还有哪些选择?
大数据·人工智能
峥嵘life1 小时前
Android16 系统 APEX 模块调试总结
android·大数据·开发语言