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;
相关推荐
逸Y 仙X16 小时前
文章十五:ElasticSearch 运用ingest加工索引数据
java·大数据·elasticsearch·搜索引擎·全文检索
Elastic 中国社区官方博客16 小时前
Kibana 中的查询活动:用于长时间运行搜索的实时控制塔
大数据·运维·elasticsearch·搜索引擎·全文检索·kibana
andafaAPS16 小时前
安达发|医疗器械行业APS排程软件:重构生产效能的生命线
大数据·人工智能·制造·aps排程软件·安达发aps·计划排产软件
财经资讯数据_灵砚智能16 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年4月28日
大数据·人工智能·python·信息可视化·自然语言处理
地球资源数据云16 小时前
2015年中国30米分辨率沼泽湿地空间分布数据集
大数据·数据结构·数据库·人工智能·机器学习
谁似人间西林客16 小时前
工业大数据是离散制造提质增效的阳光大道吗?
大数据·制造
生活观察站16 小时前
从“功能容器”到“生活艺术”,格力明珠冰箱如何重构厨房美学?
大数据·重构·生活
HuDie34016 小时前
prompt构建
大数据·人工智能·prompt
Irene199116 小时前
大数据开发场景下,总结并翻译 Oracle 中常见的错误(补充其他错误码:适合初学者)
大数据·oracle
二宝哥16 小时前
大数据之安装azkaban
大数据