Hive 学习笔记(四)案例实操 | 统计影视网站的常规指标,各种 TopN指标 | 观看数Top10 |explode 炸裂统计视频类别的观看数 | 嵌套子查询

本文介绍了如何使用Hive进行数据统计,包括创建Hive测试表、统计观看数Top10、最受欢迎的影视类别、视频类别观看数Top20及其个数、视频观看数Top10的类别排序、每个类别视频观看数Top3、上传视频最多的用户及视频观看次数等,重点展示了explode函数和嵌套子查询的应用。
摘要由CSDN通过智能技术生成

在这里插入图片描述

若发现文章有误,欢迎提出宝贵的建议,敬请指教,感谢

运行环境


  • Docker-ce 20.10.11
  • 完全分布式集群
  • JDK8
  • MySQL 5.7
  • Hadoop3.3.0
  • Hive3.1.2 on MapReduce

数据说明


测试数据获取地址:点击查看

数据说明:

video

字段 类型 描述
videoId String, 视频唯一ID ,11位字符串
uploader String 上传视频的用户名
age Int 视频在平台上的天数
category Array< String > 上传视频指定的视频分类
length Int 整型数字表示的视频长度,单位秒
views Int 视频被浏览的次数
rate Double 视频的评分,满分上限为5分
Ratings Int 视频的流量,整型数字
comments Int 一个视频的整数评论数
relatedId Array< String > 相关视频的ID,不超过20个

数据说明:1.txt、2.txt、3.txt、4.txt、5.txt是同一种数据,数据量依次递增,内容以"\t" 制表符分割,同一个字段,比如category,视频分类,以"&"符号分割

在这里插入图片描述

user

字段 类型 描述
uploader String 上传者用户名
videos Int 上传视频数
friends Int 朋友数量

数据说明:user.txt,大小为35, 643 KB,以"\t"制表符分割

在Hive中创建的表:

原始表:v_ori, v_user_ori
最终表: v_orc, v_user_orc

一、Hive SQL 创建测试表


1.1 原始表

创建原始电影表 v_ori

CREATE TABLE v_ori (
    videoId string, uploader string, age int,
    category array<string>, length int,
    views int, rate float, ratings int, comments int,
    relatedId array<string>)
ROW FORMAT DELIMITED FIELDS TERMINATED BY "\t" 
COLLECTION ITEMS TERMINATED BY "&"
STORED AS textfile;

创建原始用户数据表: v_user_ori

CREATE TABLE v_user_ori(
    uploader string,
    videos int, 
    friends int
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY "\t" STORED AS textfile;

1.2 orc压缩表

创建 orc 存储格式带 snappy 压缩的表:
v_orc 电影表

CREATE TABLE v_orc( 
    videoId string, 
    uploader string,
    age int,
    category array<string>, 
    length int,
    views int, 
    rate float, 
    ratings int, 
    comments int,
    relatedId array<string>
) 
STORED AS orc
TBLPROPERTIES(&
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值