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;
相关推荐
xiaomuzuirenzhen5 分钟前
2027校招ERP实施顾问:大数据管理与应用专业如何用SQL、BI证明业务能力
大数据·数据库
龙孚信息34 分钟前
信息分发的第三次范式转移:从关键词到语义,再到答案
大数据·人工智能
实验室管理云平台1 小时前
实验室无纸化管理系统有哪些优势?北京盛元广通从效率到安全解析
大数据·科技
SelectDB技术团队1 小时前
云数仓成本结构拆解:五层计费模型与 Apache Doris 托管形态对照
大数据·数据库·elk·全文检索·snowflake
爱吃火鸡面呀1 小时前
深入理解 Spark RDD:五大特性与实战解析
大数据·分布式·spark
林墨聊AIGC1 小时前
AI微短剧集数秘诀:有何讲究?
大数据·人工智能·ai作画·aigc·ai写作
Tartly1 小时前
搭载RTX Spark核心,华硕ProArt GR1X 个人AI智能体助手即将上线!
大数据·人工智能·spark
清华kenny2 小时前
解读晓得养AI辨证API对接现有HIS系统的可行性
大数据·人工智能·安徽晓得养
cspttty2 小时前
2027校招准备:数学与应用数学专业如何补齐管理咨询的业务、分析与表达能力
大数据·数据库
TK泰妞3 小时前
跨境短视频真正难在哪?一套从找参考到批量测试的 AI 工作流
大数据·人工智能