当前位置:网站首页>数仓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目录下,然后分发给其他集群,这样就可以随时生成日志了。
边栏推荐
- Taro框架-微信小程序-内嵌h5页面
- mysqlbinlog: unknown variable 'default-character-set=utf8'
- frp:开源内网穿透工具
- LiveData 记录下 +
- information_schema
- netstat 及 ifconfig 是如何工作的。
- 如何在安装GBase 8c数据库的时候,报错显示“Host ips belong to different cluster?
- 如何像用自来水一样使用数据库?|腾讯云数据库TDSQL-C
- Logic Pro X built-in sound library list
- ArcEngine(五)用ICommand接口实现放大缩小
猜你喜欢
随机推荐
wordpress: 裁剪您的图片时发生错误
Pop Harmony Basics Big Notes
Eject stubborn hard drives with diskpart's offline command
mysql备份时的快照原理
Arduino框架下对ESP32 NVS非易失性存储解读以及应用示例
mysql系统变量与状态变量
前缀和(区间和,子矩阵的和)
“碳中和”愿景下,什么样的数据中心才是我们需要的?
pyspark---encode the suuid interval (based on the number of exposures and clicks)
timestamp
Haisi project summary
二进制日志过期时间设置expire_logs_days
控制bean的加载
面试介绍项目经验(转)
热部署系统实现
LAN技术-2免费ARP
How to choose a reliable and formal training institution for the exam in September?
ArcEngine(六)用tool工具实现拉框放大缩小和平移
服务器资源监控工具-nmon、nmon_analyser
ViewModel 记录下 +








![[ 漏洞复现篇 ] yapi 代码执行 getshell 漏洞复现详解](/img/85/a4142689c22492cd898bd8275cd2c5.png)