Hive 案例分析(B站用户行为大数据分析)

news2024/11/15 9:42:55

Hive 案例分析(B站用户行为大数据分析)

  • 一、案例需求
  • 二、设计数据表结构
    • 2.1 user 表结构
    • 2.2 video 表结构
  • 三、创建数据表
    • 3.1 创建 video 数据库
    • 3.2 创建外表
      • 3.1.2 创建 external_user
      • 3.1.3 创建 external_video
    • 3.2 创建内表
      • 3.2.1 创建 orc_user
      • 3.2.2 创建 orc_video
  • 四、准备工作
    • 4.1 准备user和video 数据
    • 4.2 数据导入外表
      • 4.2.1 导入 external_user 表
      • 4.2.1 导入 external_video 表
    • 4.3 数据导入 内表
      • 4.3.1 导入 ocl_user
      • 4.3.1 导入 ocl_video
  • 五、统计分析
    • 5.1 统计B站视频观看数前 top 10
    • 5.2 统计B站视频分类热度 top 10
    • 5.3 统计每个类别视频观看人数前 top 3
    • 5.4 统计上传B站视频最多的用户前 top 10,以及这些用户上传的视频观看次数在前10的视频
    • 5.5 统计B站视频不同评分等级(等级作为字段显示)的视频数量

一、案例需求

b站现在积累有用户数据和视频列表数据,为了配合市场部门做好用户运营工作,需要对b站的用户行为进行分析,其具体需求如下所示:

  • 统计b站视频不同评分等级(行转列)的视频数。
  • 统计上传b站视频最多的用户Top 10,以及这些用户上传的视频观看次数在前10的视频。
  • 统计b站每个类别视频观看数top 10。
  • 统计b站视频分类热度top 10。
  • 统计b站视频观看数top 10。

二、设计数据表结构

2.1 user 表结构

在这里插入图片描述

2.2 video 表结构

在这里插入图片描述

三、创建数据表

3.1 创建 video 数据库

create database if not exists video;

在这里插入图片描述

3.2 创建外表

用于保存原始数据

3.1.2 创建 external_user

create external table if not exists external_user
(uid int,
name string,
regtime string,
visitnum int,
lastvisit string,
gender int,
birthday string,
country string,
province string,
city string,
uploadvideos int)
row format delimited fields terminated by ","
stored as textfile;

3.1.3 创建 external_video

create external table if not exists  external_video
(vid string,
uid int,
vday int,
vtype string,
vlength int,
visit int,
score int,
comments int,
collection int,
fabulous int,
forward int)
row format delimited fields terminated by ","
stored as textfile;

3.2 创建内表

用于计算获取结果

3.2.1 创建 orc_user

create table if not exists orc_user
(uid int,
name string,
regtime string,
visitnum int,
lastvisit string,
gender int,
birthday string,
country string,
province string,
city string,
uploadvideos int)
row format delimited fields terminated by ","
stored as orc
tblproperties("orc.compress"="SNAPPY");

3.2.2 创建 orc_video

create table if not exists orc_video
(vid string,
uid int,
vday int,
vtype string,
vlength int,
visit int,
score int,
comments int,
collection int,
fabulous int,
forward int)
row format delimited fields terminated by ","
stored as orc
tblproperties("orc.compress"="SNAPPY");

四、准备工作

4.1 准备user和video 数据

在这里插入图片描述

4.2 数据导入外表

4.2.1 导入 external_user 表

load data local inpath '/usr/local/data/tmp/user.txt' overwrite into table external_user;

在这里插入图片描述

4.2.1 导入 external_video 表

load data local inpath '/usr/local/data/tmp/video.txt' overwrite into table external_video;

在这里插入图片描述

4.3 数据导入 内表

4.3.1 导入 ocl_user

insert into table orc_user select * from external_user;

在这里插入图片描述

4.3.1 导入 ocl_video

insert into table orc_video select * from external_video;

在这里插入图片描述

五、统计分析

5.1 统计B站视频观看数前 top 10

select vid,visit from orc_video order by visit desc limit 10;

在这里插入图片描述

5.2 统计B站视频分类热度 top 10

select vtype,count(vid) hot from orc_video group by vtype order by hot desc limit 10;

在这里插入图片描述

5.3 统计每个类别视频观看人数前 top 3

select v.vtype,v.vid,v.visit from (select vtype,vid,visit,rank() over(partition by vtype order by visit desc) rk ) v where rk <= 3;

在这里插入图片描述

5.4 统计上传B站视频最多的用户前 top 10,以及这些用户上传的视频观看次数在前10的视频

select v.vid,v.visit,v.uid from (select uid,uploadvideos from orc_user order by uploadvideos desc limit 10) u join orc_video v on u.uid=v.uid order by v.visit desc limit 10;

在这里插入图片描述

5.5 统计B站视频不同评分等级(等级作为字段显示)的视频数量

select
max(case v.score when 1 then v.num else 0 end) 1star,
max(case v.score when 2 then v.num else 0 end) 2star,
max(case v.score when 3 then v.num else 0 end) 3star,
max(case v.score when 4 then v.num else 0 end) 4star,
max(case v.score when 5 then v.num else 0 end) 5star
from (select score,count(*) as num from orc_video group by score) v;

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2094615.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Atlas阿特拉斯wordpress主题

Atlas阿特拉斯是一个专为WordPress平台设计的多功能主题&#xff0c;该主题由简站wordpress主题开发&#xff0c;旨在为用户提供一个强大而灵活的工具&#xff0c;以构建各种类型的网站。以下是对Atlas阿特拉斯WordPress主题的简介&#xff1a; Atlas阿特拉斯WordPress主题简介…

谷歌账号被停用了怎么申诉?申诉了好多天没有收到回复怎么办?申诉了很多次都被拒了怎么办?只有一个办法

这段时间似乎谷歌的风控措施又变严了&#xff0c;许多新账号被封&#xff08;尤其是买来的账号或者新注册的账号&#xff09;&#xff0c;甚至有一些使用了一年以上的老账号“莫名其妙地”也封了。 注&#xff1a;这里的封号是谷歌用户的一个通俗的说法&#xff0c;实际上指的…

【AIGC】MimicMotion:姿态引导的高质量人体运动视频生成技术

资源 论文&#xff1a;https://arxiv.org/pdf/2406.19680 github:https://github.com/Tencent/MimicMotion comfyui:https://github.com/kijai/ComfyUI-MimicMotionWrapper 核心要点 1. confidence-aware pose guidance可以确保高质量视频和时间维度上的帧与帧之间的平滑 …

MySQL的索引原理及使用

索引模型&#xff08;基础数据结构&#xff09; 索引模型&#xff1a;哈希表、有序数组、搜索树&#xff0c;这里的模型是指索引的底层实现的基本数据结构&#xff0c;Mysql中不同的引擎对于索引的实现结构说的即是索引模型。 有序数组 有序数组这个在数据结构中是最基础的结…

【开关电源】数字交错式升压功率因数校正解析(1)

文章目录 Digital Interleaved PFC 链接: TIDM-02010 Dual motor control with digital interleaved PFC for HVAC reference design Digital Interleaved PFC 电路的主干部分不做过多介绍&#xff0c;默认读者已清楚知道PFC电路的控制原理。 这里想要探讨一下D5和L6的作用。 …

Go开发运维:Go项目工程化进行初始配置

目录 一、实验 1.环境 2.初始化Go项目 3.Go项目工程化 4. 导入Gin包 5.下载viper与logrus依赖 二、问题 1.Windows如何进行go的版本升级 2. Go mod常用命令 3.下载Gin依赖失败 一、实验 1.环境 &#xff08;1&#xff09;主机 表1 主机 系统 软件版本备注Windows1…

JUC-指令有序性

指令重排 JVM 会在不影响正确性的前提下&#xff0c;可以调整语句的执行顺序&#xff0c;思考下面一段代码 static int i; static int j; // 在某个线程内执行如下赋值操作 i ...; j ...; 可以看到&#xff0c;至于是先执行 i 还是 先执行 j &#xff0c;对最终的结果不…

大数据技术之HBase优化(5)

目录 HBase 优化 RowKey 设计 实现需求 1 实现需求 2 添加预分区优化 参数优化 JVM 调优 HBase 使用经验法则 HBase 优化 RowKey 设计 一条数据的唯一标识就是 rowkey&#xff0c;那么这条数据存储于哪个分区&#xff0c;取决于 rowkey 处于哪个预分区的区间内。设计 rowkey …

音乐发烧友的蓝牙耳机推荐?四款开放式耳机推荐

蓝牙耳机我还是很推荐开放式耳机的&#xff0c;因为开放式耳机相较入耳式耳机佩戴起来真的很舒适。 不入耳的设计&#xff0c;能够给耳道带来足够的“呼吸空间”。还有许多主流的开放式耳机&#xff0c;像是大部分的挂耳式的蓝牙耳机&#xff0c;耳挂部分都是使用的耐用且易弯…

【吊打面试官系列-Redis面试题】Redis 的持久化机制是什么?各自的优缺点?

大家好&#xff0c;我是锋哥。今天分享关于 【Redis 的持久化机制是什么&#xff1f;各自的优缺点&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; Redis 的持久化机制是什么&#xff1f;各自的优缺点&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Jav…

网站开发:XTML+CSS - 网页文档结构

1. 前言 HTML&#xff08;HyperText Markup Language&#xff0c;超文本标记语言&#xff09;是构建网页和 web 应用程序的标准标记语言。它定义了网页的结构和内容&#xff0c;允许开发者创建有组织、语义化的文档。 HTML 使用一系列的元素&#xff08;elements&#xff09;和…

[ABC368G] Add and Multiply Queries

G - Add and Multiply Queries 2个单点&#xff0c;一个询问&#xff0c;感觉询问只能O(n)做 但是发现查询答案保证在1e18以下 2^60 也就是说b[i]>1最多60个 也就是说需要判断的地方最多60个&#xff0c;其他地方可以用区间和优化 用set or vector 记录b[i]>1的位置&a…

如何在 Python 中将字符串转换为日期时间或时间对象

文章目录 一、介绍二、datetime使用将字符串转换为对象datetime.strptime()三、将字符串转换为datetime.datetime()对象示例四、将字符串转换为datetime.date()对象示例五、将字符串转换为datetime.time()对象示例六、datetime.datetime()使用区域设置示例将字符串转换为对象七…

最小二乘模型和线性最小均方模型的区分

禹晶、肖创柏、廖庆敏《数字图像处理&#xff08;电子信息前沿技术丛书&#xff09;》P229、P230 这部分是最小二乘模型&#xff0c;而维纳滤波是建立在随机过程总体的基础上线性最小均方模型&#xff0c;所以这样的推导过程从概念上错误&#xff0c;删除。 后悔没听廖老师的。…

更改银河麒麟服务器的语言环境为中文

更改银河麒麟服务器的语言环境为中文 1、查看语言环境2、更改语言环境 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 1、查看语言环境 打开终端&#xff0c;运行&#xff1a; locale -a查看是否包含zh_CN.UTF-8。 2、更改语言环境 编辑文…

无人机反制:低空安全综合管理平台技术详解

无人机反制技术中的低空安全综合管理平台&#xff0c;作为守护低空安全的重要工具&#xff0c;集成了多种先进的技术手段和管理功能&#xff0c;实现了对无人机等低空飞行器的全方位、无死角监控与反制。以下是对该技术平台的详细解析&#xff1a; 一、技术架构与核心功能 低…

Vue笔记总结(Xmind格式):第五天

Xmind鸟瞰图&#xff1a; 简单文字总结&#xff1a; 1. 生命周期 Vue 框架内置函数&#xff0c;随着组件的生命周期阶段&#xff0c;自动执行 作用: 特定的时间点&#xff0c;执行特定的操作 场景: 组件创建完毕后&#xff0c;可以在created 生命周期函数中发起Ajax 请求&am…

2024/8/31 笔记

IOC&DI 之前写了一点&#x1f447; 7/8 复盘-CSDN博客 事务管理 为什么需要事务管理 &#x1f446;一般加在业务层增删改的方法上&#xff0c;查询或者简单的增删改基本用不上 事务的回滚 rollbackForException.class //设置所有异常都会回滚&#x1f447; 事务…

华为云征文|下一代云服务器,Flexus X实例选购指导

华为云 Flexus 服务器所提供的 Flexus X 实例&#xff0c;是基于擎天 QingTian 架构、瑶光云脑、盘古大模型等根技术的创新&#xff0c;基于业务负载可灵活匹配业务产品所需要的资源规格&#xff0c;同时是业界内首款基于应用驱动的柔性算力云服务器。 Flexus X 实例具有大模型…

Java18 设计模式

第十八节&#xff1a;设计模式 1.设计模式概述 1.1软件设计模式的产生背景 ​ "设计模式"最初并不是出现在软件设计中&#xff0c;而是被用于建筑领域的设计中。1977年美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫亚历山大&#xff08;…