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;
相关推荐
GOWIN革文品牌咨询26 分钟前
国际B2B品牌的“价值压缩”怎么做:不是写一句话,而是搭一套定位推导模型
大数据·人工智能
国冶机电安装41 分钟前
电力电缆铺设:从施工准备到质量验收的系统解析
大数据
聊聊MES那点事1 小时前
Minitab 在制造业的应用:实现可预测、高质量制造的关键
大数据·数据分析·制造·质量管理·minitab
newsxun1 小时前
羊城聚力启新程 星脉联盟多维生态赋能文娱商业融合发展
大数据·人工智能
雷工笔记1 小时前
读书笔记|《汽车智能生产执行系统实务》
大数据·汽车
D愿你归来仍是少年1 小时前
Apache Spark 第 11 章:Delta Lake 与 Lakehouse
大数据·spark·apache
小五传输2 小时前
Rsync已过时?新一代服务器文件自动同步软件实现跨平台同步
大数据·运维·安全
AI猫站长2 小时前
工信部发布具身智能首份强制标准:静态定位误差≤0.1°、动态响应≤50ms、多模态任务成功率≥85%
大数据·人工智能·机器学习·具身智能·灵心巧手
@高蕊3 小时前
首创光储协同算法!iSolarBP破解分布式光伏市场化评估难题
大数据·人工智能·算法·arcgis·无人机
清平乐的技术专栏3 小时前
查看impala版本
大数据