当前位置: 首页 > news >正文

大数据学习之PB级音乐数据中心数仓综合项目(1)-理论知识和项目需求、歌曲热度与歌手热度排行

一、理论知识和项目需求

1.课程介绍

2.数据库与ER建模_数据库三范式

3.数据库与ER建模_ER实体关系模型

4.数据库与维度建模_数据仓库(DATA WAREHOUSE)

5.数据库与维度建模_数据库与数据仓库区别

6.数据库与维度建模_数据仓库的发展历程

7.数据库与维度建模_维度建模

8.数据库与维度建模_维度建模案例

9.数据库与维度建模_数仓分层设计一

10.数据库与维度建模_数仓分层设计二

11.数据库与维度建模_数仓分层设计案例

12.项目需求_项目介绍

数据中心项目中包含业务系统数据和用户行为日志数据。
业务数据即业务系统产生的业务数据,例如:系统中产生的订单、登录、点歌、广告展示等数据。
1
用户行为数据例如:用户在实体机器上操作的行为都是用户行为数据,点击、收藏、扫码等事件。
2
公司针对以上数据进行分析的结果主要有两个应用:
一是针对 BI 系统,商业智能中主要展示更多的报表给公司的运营人员参照。例如:每日歌曲点唱量,每日营收,
机器分布,实时 pv,uv ,用户留存率、漏斗模型等。
1
另一个应用是数据服务,数据服务主要是针对分析后结果数据以接口的形式提供给业务系统来访问,例如 : 推荐系
统,根据歌曲来推荐歌曲,根据歌手来推荐歌曲或者根据用户来推荐歌曲。
2
本项目模块划分:
歌曲热度与歌手热度排行
1
机器相信信息统计
2
日活跃用户统计
3
商户营收统计
4
地区营收统计
5
实时统计所有用户的 PV/UV
6
实时统计歌曲热度

13.项目需求_项目架构

14.项目需求_集群配置_项目人数_周期

15.项目需求_数据来源及采集

以上两种设备产生的数据可以分为两类数据:
是产生的订单数据,会记录到业务数据库。后期直接通过 sqoop 直接抽取 MySQL 中的数据到 HDFS
1
是通过 http 请求,上传到专门采集数据的日志服务器上,每天由运维人员将数据打包上传到数据中心平台某个目
录下,然后由定时任务定时来执行 Spark 任务拉取数据,上传至 HDFS 中。这里读取压缩数据使用 SparkCore 进行
处理,处理之后将数据以 parquet 格式或者 json 格式存储在 HDFS 中即可。

16.项目需求_数仓模型设计

内部数据源:主要有 MySQL 和客户端上传 json 数据。 MySQL 使用 Sqoop 抽取
数据到 HDFS 中,导入 ODS 层。客户端产生日志到客户端服务器,客户端服务
器由运维人员每天将数据压缩成包导入到 HDFS 路径中,然后再经过
SparkCore SparkSQL 处理后导入 ODS 层。
EDS(Enterprise Data Store)/DW(Data Warehouse ) 层:
EDS 层负责信息集成、轻度汇总类数据。简单理解就是将事务性的数据组织
成便于分析的仓库维度建模类型的数据,做一些轻度聚合,类似 Hive 中的宽
表。例如:将 ODS 层数据进行清洗,如果主题是用户主题,那么就按照用户
id 为粒度将数据组织在一起。如果主题是机器,那么就按照机器 id 为粒度将
数据组织在一起。
以上 ODS 层和 EDS 层使用 Spark 代码处理数据,然后利用 SparkSQL 读取 ODS
层数据,保存到 Hive EDS 层。
DM(Data Mart) 层:
DM 层的数据有一部分是存储在 Hive 表中,或者保存分析结果到 MySQL
HBase 等。 EDS 层数据是 parquet 格式的数据,放在 Hive 的主要原因是后期使
Kylin 查询一些业务,数据放 MySQL 的都是结果数据,放在 HBase 的原因
是涉及到大表的明细查询。
以上数据仓库模型的设计表对应关系都在 数据仓库模型 .xlsx” 文件中。

二、歌曲热度与歌手热度排行

17.歌曲热度与歌手热度排行_需求描述

18.歌曲热度与歌手热度排行_需求分析一

要完成昨日的歌曲热度与歌手热度分析,需要以下两类数据:
用户在机器上的点歌行为数据
这部分数据是用户在各个机器上当天的点歌播放行为数据,这些数据是运
维每天零点打包以 gz 压缩文件的方式上传到 HDFS 平台,这里我们假定将
数据
currentday_clientlog.tar.gz
每天凌晨定时上传到 HDFS 路径
hdfs://mycluster/logdata
中,这里在企业中应当上传到某个以天名称的结构目录下,通过 Spark
据清洗将数据存放到 Hive 数仓 ODS 层中。关于用户在机器上的点歌行为数
据参照 事件上报协议 .docx” 文档。
日志内容格式:
日志时间 & 机器 id& 事件类型 &{json}& 机器版本 & 机器 UI 软件版本
终端向服务器通知歌曲播放操作 ( 事件类型中的一种 )
35 CMD 名称
MINIK_CLIENT_SONG_PLAY_OPERATE_REQ
访问方式
终端主动请求
参数类型
json
json 属性
是否
必须
说明
optrate_type
0: 点歌 , 1: 切歌 ,2: 歌曲开始播放 ,3: 歌曲播放完成 ,4: 录音试听开始 ,5: 录音试听切
,6: 录音试听完成
songid
歌曲 ID
uid
用户 ID (无用户则为 0
session_id
局数 ID
mid
机器 ID
dur_time
总时长单位秒( operate_type:0 时此值为 0
play_time
播放时长单位秒
consume_type
消费类型: 0 免费; 1 付费
songname
歌曲名
pkg_id
套餐 ID 类型
order_id
订单号 . 订单号组成规则 , 类型 +_( 下划线 )+ 支付类型 自定义的订单 . 补偿套餐
order_ID 是上局的 comsum_id

19.歌曲热度与歌手热度排行_需求分析二

20.歌曲热度与歌手热度排行_需求分析三

21.歌曲热度与歌手热度排行_DATAGRIP安装激活

22.歌曲热度与歌手热度排行_配置HIVESERVER2

23.歌曲热度与歌手热度排行_DATAGRIP配置

24.歌曲热度与歌手热度排行_模型设计

hive > create database baizhan_music;
OK
Time taken: 0.664 seconds
hive > use baizhan_music;
OK
Time taken: 0.053 second
1
2
3
4
5
6
CREATE EXTERNAL TABLE IF NOT EXISTS
`TO_CLIENT_SONG_PLAY_OPERATE_REQ_D` (
`SONGID` string,
`MID` string,
`OPTRATE_TYPE` string,
`UID` string,
`CONSUME_TYPE` string,
`DUR_TIME` string,
`SESSION_ID` string,
`SONGNAME` string,
`PKG_ID` string,
`ORDER_ID` string
1
2
3
4
5
6
7
8
9
10
11
49 2
TO_SONG_INFO_D 歌库歌曲表
)
partitioned by ( data_dt string )
ROW FORMAT DELIMITED   FIELDS TERMINATED BY '\t'
LOCATION
'hdfs://mycluster/user/hive_remote/warehouse/dat
a/song/TO_CLIENT_SONG_PLAY_OPERATE_REQ_D' ;
12
13
14
15
CREATE EXTERNAL TABLE `TO_SONG_INFO_D` (
`NBR` string,
`NAME` string,
`OTHER_NAME` string,
`SOURCE` int,
`ALBUM` string,
`PRDCT` string,
`LANG` string,
`VIDEO_FORMAT` string,
`DUR` int,
`SINGER_INFO` string,
`POST_TIME` string,
`PINYIN_FST` string,
`PINYIN` string,
`SING_TYPE` int,
`ORI_SINGER` string,
`LYRICIST` string,
`COMPOSER` string,
`BPM_VAL` int,
`STAR_LEVEL` int,
`VIDEO_QLTY` int,
`VIDEO_MK` int,
`VIDEO_FTUR` int,
`LYRIC_FTUR` int,
`IMG_QLTY` int,
`SUBTITLES_TYPE` int,
`AUDIO_FMT` int,
`ORI_SOUND_QLTY` int,
50 `ORI_TRK` int,
`ORI_TRK_VOL` int,
`ACC_VER` int,
`ACC_QLTY` int,
`ACC_TRK_VOL` int,
`ACC_TRK` int,
`WIDTH` int,
`HEIGHT` int,
`VIDEO_RSVL` int,
`SONG_VER` int,
`AUTH_CO` string,
`STATE` int,
`PRDCT_TYPE` string )
ROW FORMAT DELIMITED   FIELDS TERMINATED BY '\t'
LOCATION
'hdfs://mycluster/user/hive_remote/warehouse/dat
a/song/TO_SONG_INFO_D'

25.歌曲热度与歌手热度排行_SQOOP数量全量同步

26.歌曲热度与歌手热度排行_SQOOP数量全量同步解决BUG

27.歌曲热度与歌手热度排行_项目搭建

28.歌曲热度与歌手热度排行_歌曲播放日志解析思路

29.歌曲热度与歌手热度排行_歌曲播放日志解析编码一

30.歌曲热度与歌手热度排行_歌曲播放日志解析编码二

31.歌曲热度与歌手热度排行_歌曲播放日志解析编码三

32.歌曲热度与歌手热度排行_歌曲播放日志解析编码四

33.歌曲热度与歌手热度排行_歌曲播放日志解析编码五

34.歌曲热度与歌手热度排行_歌曲播放日志解析编码六

35.歌曲基本信息TO至TW思路分析

36.歌曲基本信息TO至TW编码一

37.歌曲基本信息TO至TW编码二

38.歌曲基本信息TO至TW编码三

39.歌曲基本信息TO至TW编码四

40.歌曲基本信息TO至TW编码五

41.歌曲基本信息TO至TW编码六

42.歌曲基本信息TO至TW编码七

43.歌曲基本信息TO至TW编码测试

44.

45.

46.

47.

48.

49.

50.

51.

52.

53.

54.

55.

56.

57.

58.

59.

60.

61.

62.

63.

64.

65.

66.

67.

68.

69.

70.

71.

72.

相关文章:

大数据学习之PB级音乐数据中心数仓综合项目(1)-理论知识和项目需求、歌曲热度与歌手热度排行

一、理论知识和项目需求 1.课程介绍 2.数据库与ER建模_数据库三范式 3.数据库与ER建模_ER实体关系模型 4.数据库与维度建模_数据仓库(DATA WAREHOUSE) 5.数据库与维度建模_数据库与数据仓库区别 6.数据库与维度建模_数据仓库的发展历程 7.数据库与维度建模_维度建模 8.数据库与…...

DeepSeek vs ChatGPT:AI 领域的华山论剑,谁主沉浮?

一、引言 在当今科技飞速发展的时代,人工智能(AI)已然成为推动各领域变革的核心力量。而在人工智能的众多分支中,自然语言处理(NLP)因其与人类日常交流和信息处理的紧密联系,成为了最受瞩目的领…...

七星棋牌顶级运营产品全开源修复版源码教程:6端支持,200+子游戏玩法,完整搭建指南(含代码解析)

棋牌游戏一直是移动端游戏市场中极具竞争力和受欢迎的品类,而七星棋牌源码修复版无疑是当前行业内不可多得的高质量棋牌项目之一。该项目支持 6大省区版本(湖南、湖北、山西、江苏、贵州),拥有 200多种子游戏玩法,同时…...

本2硕9电子科学专业,想走linux或是嵌入式,要具体学哪些技术

​今天给大家分享的是一位粉丝的提问,本2硕9电子科学专业,想走linux或是嵌入式,要具体学哪些技术 接下来把粉丝的具体提问和我的回复分享给大家,希望也能给一些类似情况的小伙伴一些启发和帮助。 同学提问: 你好&…...

从混沌到有序:一个数据血缘分析的进化故事

从混沌到有序:一个数据血缘分析的进化故事 从混沌到有序的数据治理之路数据血缘的建设方法和实践路径数据血缘的实践场景和未来趋势。 数据就像流淌在企业血管中的血液,它的每一次流动、每一次转化都留下独特的印记。 作为数据工程师,我曾困惑…...

从猜想终结到算法革新,弹性哈希开启数据存储新篇章

目录 哈希表的前世今生基本原理从传统到现代:哈希表的演变历程 安德鲁 克拉皮文及其团队的创作历程弹性哈希详解基本原理优点技术细节 漏斗哈希解析基本原理优点技术细节 新算法的实际应用案例电子商务推荐系统金融交易监控系统社交媒体内容过滤物联网设备管理 结论…...

先进制造aps专题三十 用免费生产排程软件isuperaps进行长期生产计划制定

isuperaps是生产排产软件,同时也可以用来制定长期生产计划 通过isuperaps制定长期生产计划,一个指导原则就是大bom, 单工序,大bom的意思是bom中只包含主要的半成品和原料,单工序的意思是半成品/产品生产以工厂或车间为基本生产单…...

实验-安装Proteus

Ver V0.0 250222:安装Proteus8.17SP4 说明 (1)如果有找到Proteus8.17最后版本SP5,再更新了; (2)8.17是8X最后一个大版本,后面是Proteus9。 内容 下载: 链接:https…...

‌最新版DeepSeek保姆级安装教程:本地部署+避坑指南

大家好,我是冰河~~ 本文旨在提供一个全面且详细的DeepSeek本地部署指南,帮助大家在自己的设备上成功运行DeepSeek模型。无论你是AI领域的初学者还是经验丰富的开发者,都能通过本文的指导,轻松完成DeepSeek的本地部署。 一、本地…...

【学习笔记】Cadence电子设计全流程(三)Capture CIS 原理图绘制(1-8)

【学习笔记】Cadence电子设计全流程(三)Capture CIS 原理图绘制(1) 3.1 原理图设计思路3.2 Cadence 原理图的新建3.3 在原理图中添加元器件3.4 元器件对齐3.5 原理图元器件信号联通(走线)3.6 OrCAD Capture…...

3damx 发动机活塞运动动画

使用HD解算器绑定:点(绑定的最终目标对象)→曲柄→活塞(子控父,反向解算) 点:绑定到轮子上的连接点...

JAVA 集成 ElasticSearch

目录 ElasticSearch Client Java REST Client Dependencies Initialization RequestOptions 测试 ElasticSearch Client 9300端口 :TCP协议,性能较高,ES集群内部节点之间通过9300进行通讯。 Java Transport Client (7.x 已废…...

AMBA-CHI协议详解(十九)

文章目录 4.6 Silent cache state transitions4.7 Cache state transitions at a Requester4.7.1 Read request transactions4.7.2 Dataless request transactions4.7.3 Write request transactions4.7.4 Atomic transactions4.7.5 Other request transactions 4.6 Silent cach…...

如何把windows机器作为SSH客户端免密登录

要在Windows机器上配置免密SSH登录,你需要生成一个SSH密钥对,并将公钥添加到你要登录的服务器的~/.ssh/authorized_keys文件中。以下是具体步骤: 在Windows上生成SSH密钥对 打开PowerShell或命令提示符: 你可以通过搜索栏输入“P…...

sklearn中的决策树-分类树:重要参数

分类树 sklearn.tree.DecisionTreeClassifier sklearn.tree.DecisionTreeClassifier (criterion’gini’ # 不纯度计算方法, splitter’best’ # best & random, max_depthNone # 树最大深度, min_samples_split2 # 当前节点可划分最少样本数, min_samples_leaf1 # 子节点最…...

25林业研究生复试面试问题汇总 林业专业知识问题很全! 林业复试全流程攻略 林业考研复试真题汇总

25 林业考研复试,专业面试咋准备?学姐来支招! 宝子们,一提到林业考研复试面试,是不是就慌得不行,感觉老师会扔出一堆超难的问题?别怕别怕,其实林业考研复试就那么些套路,…...

DeepSeek最新开源动态:核心技术公布

2月21日午间,DeepSeek在社交平台X发文称,从下周开始,他们将开源5个代码库,以完全透明的方式与全球开发者社区分享他们的研究进展。并将这一计划定义为“Open Source Week”。 DeepSeek表示,即将开源的代码库是他们在线…...

Electron通过ffi-napi调用dll导出接口

electron使用ffi-napi环境搭建 附打包好的ffi-napi可以直接放到项目目录下使用,避免以后麻烦 一、安装node.js Node.js官网:https://nodejs.org/zh-cn/download,选择LTS长期稳定版本即可 需要注意Node.js 区分32和64位,32位版…...

【排序算法】六大比较类排序算法——插入排序、选择排序、冒泡排序、希尔排序、快速排序、归并排序【详解】

文章目录 六大比较类排序算法(插入排序、选择排序、冒泡排序、希尔排序、快速排序、归并排序)前言1. 插入排序算法描述代码示例算法分析 2. 选择排序算法描述优化代码示例算法分析 3. 冒泡排序算法描述代码示例算法分析与插入排序对比 4. 希尔排序算法描…...

计算机毕业设计Hadoop+Spark+DeepSeek-R1大模型民宿推荐系统 hive民宿可视化 民宿爬虫 大数据毕业设计(源码+LW文档+PPT+讲解)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...

测试markdown--肇兴

day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如&#xff1a…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...

C++.OpenGL (20/64)混合(Blending)

混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...