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;
相关推荐
天码-行空2 小时前
【大数据环境安装指南】ZooKeeper搭建Storm高可用集群教程
大数据·zookeeper·storm
行业探路者2 小时前
提升旅游行程管理效率的二维码文件生成方案
大数据·人工智能·学习·二维码·产品介绍
CNRio3 小时前
Day 48:Git的高级技巧:使用Git的worktree多工作区管理
大数据·git·elasticsearch
whltaoin3 小时前
【AI Agent Skills】重塑 AI Agent 竞争力:Skills 体系的核心价值、构建方法与未来方向
大数据·人工智能·agent·agent skills
一只大侠的侠4 小时前
数据工程新范式“从ETL到ELT的平滑迁移实战指南”
数据仓库·etl
Sui_Network4 小时前
Walrus 2025 年度回顾
大数据·前端·人工智能·深度学习·区块链
一条闲鱼_mytube4 小时前
CI/CD: K8S + Tekton + ArgoCD 深入浅出完全指南
大数据·argocd
一条闲鱼_mytube5 小时前
CI/CD: Argo 深入浅出教程
大数据·elasticsearch·argocd
是阿威啊5 小时前
【用户行为归因分析项目】- 【企业级项目开发第二站】项目通用代码开发
大数据·服务器·数据仓库·hive·hadoop
武子康5 小时前
大数据-201 决策树从分裂到剪枝:信息增益/增益率、连续变量与CART要点
大数据·后端·机器学习