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;
相关推荐
土拨鼠烧电路7 分钟前
笔记11:数据中台:不是数据仓库,是业务能力复用的引擎
数据仓库·笔记
Factory_Audit23 分钟前
亚马逊社会责任验厂审核标准及注意事项
大数据·经验分享
地衣机房除尘33 分钟前
科普漫画:机房数据中心防火小剧场
大数据·运维
海兰1 小时前
离线合同结构化提取与检索:LangExtract + 本地DeepSeek + Elasticsearch 9.x
大数据·elasticsearch·django
TDengine (老段)2 小时前
TDengine IDMP 数据可视化——散点图
大数据·数据库·物联网·信息可视化·时序数据库·tdengine·涛思数据
王九思2 小时前
Thrift Server 介绍
大数据·系统架构·运维开发
梦想的旅途22 小时前
企业微信API:外部群自动化推送实战指南
大数据·机器人·自动化·企业微信·rpa
zxfBdd3 小时前
Error:scala: No ‘scala-library*.jar‘ in Scala compiler classpath in Scala SDK
大数据·scala·jar
AI猫站长3 小时前
快讯|灵心巧手融资15亿计划2026年交付5-10万台灵巧手,Linker Hand系列覆盖多种技术路线
大数据·人工智能·机器人·具身智能·灵心巧手
清 晨3 小时前
知识产权投诉增多跨境卖家如何构建图片文案证据链
大数据·人工智能·跨境电商·亚马逊·内容营销