Hive实战项目-视频指标分析

该博客介绍了如何使用Hive进行视频网站的指标分析,包括视频观看数TopN、视频类别热度、评论数和流量等统计。通过MapReduce清洗数据,创建Hive表,并展示了如何利用explode、join和row_number() over等函数进行复杂查询。最后强调了Hive中explode函数和嵌套查询的重要性。
摘要由CSDN通过智能技术生成

需求

某视频网站的常规指标,各种TopN指标:

  • 统计视频观看数Top10
  • 统计视频类别热度Top10
  • 统计视频观看数Top20所属类别包含这Top20视频的个数
  • 统计视频观看数Top50所关联视频的所属类别
  • 统计每个类别中的视频评论数Top10(以Film为例)
  • 统计每个类别中视频流量Top10(以Film为例)
  • 统计上传视频最多的用户Top10以及他们上传的视频
  • 统计每个类别视频观看数Top10

数据分析

提供到的两份数据:video.txt和user.txt

视频表

video id
视频唯一id
11位字符串

uploader
视频上传者
上传视频的用户名String

age
视频年龄
视频上传日期和2007年2月15日之间的整数天(Youtube的独特设定)

category
视频类别
上传视频指定的视频分类 数组
注意:
关于 类别People & Blogs 数组类型 [“People”,“Blogs”]

length
视频长度
整形数字标识的视频长度

viewsv
观看次数
视频被浏览的次数

rate
视频评分
满分5分

ratings
流量
视频的流量,整型数字

comments
评论数
一个视频的整数评论数

related ids
相关视频id
相关视频的id,最多20个 数组

用户表

uploader
上传者用户名
string

videos
上传视频数
int

friends
朋友数量
int

利用MapReduce清洗数据

user.txt不需要清洗即可使用
下面将对video.txt进行数据清洗
核心代码:

public class ETLMapper extends Mapper<LongWritable, Text, Text, NullWritable> {
   
    private  Text mapKey = new Text();
    @Override
    protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
   
        String str = value.toString();
        String[] infos =  str.split(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值