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;
相关推荐
starzy19909 分钟前
Flink基础之有界与无界流详解:批流一体的底层逻辑
大数据·flink
禾高网络1 小时前
养老系统开发:背景、架构与养老行业展望
java·大数据·人工智能·小程序·架构
onthe_wing2 小时前
flink基础知识,系统运行时架构,部署模式详解
大数据·架构·flink
天辛大师2 小时前
天心大师谈重新学会传统文化,AI时代的心经奥义
大数据·人工智能·随机森林·重构·启发式算法
大模型码小白3 小时前
数据可视化:AI处理多维数据的HTML5可视化方案
大数据·前端·javascript·人工智能·机器学习·信息可视化·html5
cxk18082723 小时前
2026 年9月 AI 营销机构选型方法论:基于 GEO 精采信模式的三维评估体系
大数据·人工智能·科技·ai·geo·昆明geo
Elastic 中国社区官方博客3 小时前
不再有分配延迟:在无状态 Elasticsearch 中将快照与分片迁移解耦
大数据·运维·人工智能·elasticsearch·搜索引擎·全文检索
Python 实战手记3 小时前
2026 企业微信主体变更公证办理指南:场景条件、材料清单、线上实操流程
大数据·人工智能·企业微信
lhldsg3 小时前
智慧场馆解决方案软件开发实战:从需求分析到落地部署全流程
数据库·数据仓库·需求分析
用户3610588626124 小时前
SparkStreaming 之配置参数详解
大数据·spark