当前位置:网站首页>数仓4.0(一)
数仓4.0(一)
2022-08-03 07:49:00 【JiaXingNashishua】
目录
一:数据仓库概念
数据仓库( Data Warehouse ),是为企业制定决策,提供数据支持的。可以帮助企业,改进业务流程、提高产品质量等。
数据仓库的输入数据通常包括:业务数据、用户行为数据和爬虫数据等
- 业务数据:就是各行业在处理事务过程中产生的数据。比如用户在电商网站中登录、下单、支付等过程中,需要和网站后台数据库进行增删改查交互,产生的数据就是业务数据。业务数据通常存储在MySQL、Oracle等数据库中。
- 用户行为数据:用户在使用产品过程中,通过埋点收集与客户端产品交互过程中产生的数据,并发往日志服务器进行保存。比如页面浏览、点击、停留、评论、点赞、收藏等。用户行为数据通常存储在日志文件中。
- 爬虫数据:通常事通过技术手段获取其他公司网站的数据。(谨慎操作)

二:项目需求及架构设计
2.1 项目需求分析

2.2 项目框架
2.2.1 技术选型

2.2.2 系统数据流程设计

2.2.3 框架版本选型
我选择使用的是Apache版本的框架,虽然Apache运维麻烦,组件间兼容性需要自己调研。(但是是开源的)----一般适合大厂使用
以下是框架的具体版本型号

注意:框架选型尽量不要选择最新的框架,选择最新框架半年前左右的稳定版。
2.2.4 服务器选型

2.2.5 集群规模

2.2.6 集群资源规划设计
在企业中通常会搭建一套生产集群和一套测试集群。生产集群运行生产任务,测试集群用于上线前代码编写和测试。
一)生产集群
(1)消耗内存的分开
(2)数据传输数据比较紧密的放在一起(Kafka 、Zookeeper)
(3)客户端尽量放在一到两台服务器上,方便外部访问
(4)有依赖关系的尽量放到同一台服务器(例如:Hive和Azkaban Executor)
2)测试集群服务器规划

三:数据生成模块
3.1 目标数据
我们要收集和分析的数据主要包括页面数据、事件数据、曝光数据、启动数据和错误数据。
3.1.1 页面
页面数据主要记录一个页面的用户访问情况,包括访问时间、停留时间、页面路径等信息。

3.1.2 事件
事件数据主要记录应用内一个具体操作行为,包括操作类型、操作对象、操作对象描述等信息。

3.1.3 曝光
曝光数据主要记录页面所曝光的内容,包括曝光对象,曝光类型等信息。

3.1.4 启动
启动数据记录应用的启动信息。

3.1.5 错误
错误数据记录应用使用
过程中的错误信息,包括错误编号(404)及错误信息。
3.2 数据埋点
3.2.1 主流埋点方式(了解)
目前主流的埋点方式,有代码埋点(前端/后端)、可视化埋点、全埋点三种。
3.2.2 埋点数据上报时机
方式一,在离开该页面时,上传在这个页面产生的所有数据(页面、事件、曝光、错误等)。优点,批处理,减少了服务器接收数据压力。缺点,不是特别及时。
方式二,每个事件、动作、错误等,产生后,立即发送。优点,响应及时。缺点,对服务器接收数据压力比较大。
注意:本项目采用方式一。
3.2.3 埋点数据日志结构
我们的日志结构大致可分为两类,一是普通页面埋点日志,二是启动日志。
普通页面日志结构如下,每条日志包含了,当前页面的页面信息,所有事件(动作)、所有曝光信息以及错误信息。除此之外,还包含了一系列公共信息,包括设备信息,地理位置,应用信息等,即下边的common字段。
(1)普通页面埋点日志格式
"common"字段+内容
"actions"字段+内容
"displays"字段+内容
"page"字段+内容
"err"字段+内容
"ts"字段+内容
(2)启动日志格式
启动日志结构相对简单,主要包含公共信息,启动信息和错误信息。
"common"字段+内容
"start"字段+内容
"err"字段+内容
"ts"字段+内容
3.3 模拟数据
将application.yml、gmall2020-mock-log-2021-01-22.jar、path.json、logback.xml上传到hadoop102的/opt/module/applog目录下
生成日志
(1)进入到/opt/module/applog路径,执行以下命令
[[email protected] applog]$ java -jar gmall2020-mock-log-2021-01-22.jar(2)在/opt/module/applog/log目录下查看生成日志
[[email protected] log]$ ll将生成日志写成脚本,然后放在bin目录下,然后分发给其他集群,这样就可以随时生成日志了。
边栏推荐
- [Hello World] 二分查找笔记
- Logic Pro X built-in sound library list
- The ORB - SLAM2 extracting feature points
- DSP-ADAU1452输出通道配置
- [Kaggle combat] Prediction of the number of survivors of the Titanic (from zero to submission to Kaggle to model saving and restoration)
- 解决GANs训练中模式崩塌/训练崩溃的十五个方法
- mysql备份时的快照原理
- How to choose a reliable and formal training institution for the exam in September?
- LAN技术-2免费ARP
- 【图像去雾】基于matlab暗通道和非均值滤波图像去雾【含Matlab源码 2011期】
猜你喜欢

REST学习

加速FinOps实践,为企业降本增效

requests库

Fortify白盒神器20.1.1下载及安装(非百度网盘)

Postman will return to results generated CSV file to the local interface

【Kaggle实战】泰坦尼克号生存人数预测(从零到提交到Kaggle再到模型的保存与恢复)

Evaluate:huggingface评价指标模块入门详细介绍

Docker启动mysql

23届微软秋招内推

How to choose a reliable and formal training institution for the exam in September?
随机推荐
Neo4j 4.X:导入OWL文件
如何在安装GBase 8c数据库的时候,报错显示“Host ips belong to different cluster?
vs 2022无法安装 vc_runtimeMinmum_x86错误
sqlserver2019安装失败
ceph简介
如何让背景色在任何设备宽高都能填充整个屏幕
分治法求解中位数
- display image API OpenCV 】 【 imshow () to a depth (data type) at different image processing methods
volta管理node版本
Charles抓包工具学习记录
timestamp
训练正常&异常的GAN损失函数loss变化应该是怎么样的
实时目标检测新高地之#YOLOv7#更快更强的目标检测器
Qt5开发从入门到精通——第二篇(控件篇)
mysql服务器上的mysql这个实例中表的介绍
《21天精通TypeScript-5》类型注解与原始类型
mysqlbinlog: unknown variable 'default-character-set=utf8'
vim 折叠函数
数据监控平台
The use of the database table structure document generation tool screw