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;
相关推荐
隐于花海,等待花开12 分钟前
HIVE日期函数大全
数据仓库·hive·hadoop
财迅通Ai16 分钟前
卫星化学一季度净利同比增34.97% 海外业务高增叠加价差走阔创盈利新高
大数据·人工智能·卫星化学
动恰客流管家17 分钟前
动恰3DV3丨展会客流统计解决方案:3D视觉技术赋能会展行业智慧化运营升级
大数据·数据结构·人工智能
juniperhan27 分钟前
Flink 系列第9篇:Flink 重启策略详解
java·大数据·数据仓库·flink
ModelWhale31 分钟前
从“社区”到“生态”:和鲸科技CEO范向伟在InnovateX大赛揭示OPC孵化“正确路径”
大数据·人工智能·科技
Cx330❀31 分钟前
线程进阶实战:资源划分与线程控制核心指南
java·大数据·linux·运维·服务器·开发语言·搜索引擎
xiaoduo AI33 分钟前
客服机器人知识库多久更新一次?智能 Agent 自动爬取新问答,过期话术能否及时淘汰?
大数据·人工智能·机器人
狂奔蜗牛飙车35 分钟前
精准分工:云南省中职大数据赛项(3 人团队)
大数据·中职组大数据应用与服务赛项·大数据应用与服务·竞赛指南·大数据入门指南
AI先驱体验官39 分钟前
BotCash:AI智能体变现从小 Demo 到商业产品的距离
大数据·人工智能·深度学习·重构·aigc
AcrelGHP1 小时前
安科瑞AIM-T系列工业IT绝缘监测及故障定位解决方案为关键供电场所筑牢安全防线
大数据·运维·数据库