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;
相关推荐
折哥的程序人生 · 物流技术专研13 小时前
效率翻倍:出版社多库区复合型 ABC 仓储拣选体系全解(含直发/越库/箱式立库/托盘立库)
大数据
Elastic 中国社区官方博客13 小时前
Elasticsearch:智能搜索 - AI builder 及 skills
大数据·人工智能·elasticsearch·搜索引擎·ai·信息可视化·全文检索
跨境摸鱼14 小时前
低价模型承压阶段跨境品牌如何把重心转向复购与客单
大数据·人工智能·跨境电商·亚马逊·跨境
果汁华14 小时前
LangGraph:构建状态化 AI 代理的革命性编排框架
大数据·人工智能
面向Google编程14 小时前
从零学习Kafka:生产者分区机制
大数据·kafka
盘古信息IMS15 小时前
全域场景重构,激活智造新未来!盘古信息机加行业数智化解决方案深度解析
大数据·人工智能
跨境卫士-小汪15 小时前
多国站点利润分化加剧跨境卖家如何重新排优先级
大数据·人工智能·产品运营·跨境电商·跨境
精益数智工坊15 小时前
物料管理是什么?物料管理的具体工作有哪些?
大数据·前端·数据库·人工智能·精益工程
xixixi7777715 小时前
全模态原生大脑降临:GPT-5.5(Spud)发布,推理/编码提升30%,百万上下文+原生电脑控制,开启Agent新纪元
大数据·网络·人工智能·gpt·安全·电脑·量子计算
MoonBit月兔15 小时前
MoonBit 大型软件合成挑战赛决赛暨 Meetup 0.9 版本专场回顾
大数据·开发语言·人工智能·moonbit