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;
相关推荐
雨大王51211 分钟前
工业大数据平台:释放数据价值,驱动制造业高质量发展
大数据
瑞华丽PLM14 分钟前
破局“多品种、小批量”:瑞华丽 PLM 赋能汽车零部件企业精益研发与智能制造
大数据·汽车·制造·plm·国产plm·瑞华丽plm·瑞华丽
跨境卫士情报站32 分钟前
TikTok跨境电商第二增长曲线:从“跑量”到“跑利润”的精细化运营
大数据·人工智能·产品运营·跨境电商·tiktok·营销策略
Data-Miner33 分钟前
集团数字化转型采购供应链及财务管控业务流程蓝图规划方案(170页PPT)
大数据
志凌海纳SmartX44 分钟前
金融行业IT基础设施转型实践|450+机构部署轻量云,支持核心生产与信创业务
大数据·数据库·金融
Coder个人博客1 小时前
Linux6.19-ARM64 mm mmap子模块深入分析
大数据·linux·安全·车载系统·系统架构·系统安全·鸿蒙系统
走遍西兰花.jpg1 小时前
spark配置
大数据·分布式·spark
档案宝档案管理2 小时前
档案管理系统如何支持多级审批流?自定义节点与角色权限详解
大数据·人工智能·档案·档案管理
BYSJMG2 小时前
计算机毕业设计选题推荐:基于Hadoop的城市交通数据可视化系统
大数据·vue.js·hadoop·分布式·后端·信息可视化·课程设计
BYSJMG2 小时前
Python毕业设计选题推荐:基于大数据的美食数据分析与可视化系统实战
大数据·vue.js·后端·python·数据分析·课程设计·美食