电商数仓项目总结

本文详细介绍了电商数仓项目的整体架构,包括数据说明、数据导入HDFS的过程,以及数仓分层(ods、dwd、dws、dwt、ads层)的知识。数据分为用户行为数据和业务数据,涵盖了用户行为日志、订单表等多个业务场景。通过Flume进行数据采集,使用sqoop同步MySQL数据,并讨论了全量、增量、新增及变化等数据同步策略。数仓分层旨在简化复杂问题、减少重复开发,以及隔离原始数据。文章还探讨了维度建模、命名规范和数据仓库建模的各个层面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、项目整体架构

在这里插入图片描述

二、数据说明

2.1 用户行为数据

1、启动日志数据
是一个单 json 数据
2、事件日志数据
组成:时间戳、公共字段、事件日志
事件:
(1) 商品列表
(2) 商品点击
(3) 商品详情
(4) 广告
(5) 消息通知
(6) 用户后台活跃
(7) 评论
(8) 收藏
(9) 点赞
(10) 错误日志

2.2 业务数据

1、订单表
2、订单详情表
3、sku 商品表
4、用户表
5、商品一级分类表
6、商品二级分类表
7、商品三级分类表
8、支付流水表
9、省份表
10、地区表
11、品牌表
12、订单状态表
13、spu 商品表
14、商品评论表
15、退单表
16、加购表
17、商品收藏表
18、优惠券领用表
19、优惠券表
20、活动表
21、活动订单关联表
22、优惠规则表
23、编码字典表
24、活动参与商品表
25、时间表
26、假期表
27、假期年表

三、数据导入 hdfs

3.1 用户行为数据

1、用户行为数据产生

2、日志采集 flume 配置
(1) source 为 TaildirSource。
(2) channel 为 kafka channel,省去了 sink。
(3) 自定义 flume 拦截器。
自定义了两个拦截器,分别是:ETL 拦截器、日志类型区分拦截器。
ETL 拦截器:过滤时间戳不合法和 Json 数据不完整的日志。
日志类型区分拦截器:将启动日志和事件日志区分开来,方便发往 Kafka 的不同 Topic。

3、日志消费 Flume 配置
(1) source 为 kafkaSource。
(2) channel 为 fileChannel。
(3) sink 为 hdfs 上两个路径,用 lzo 压缩。

3.2 业务数据

1、流程
sqoop 导 mysql 表到 hdfs 上,也用 lzo 压缩。

2、数据同步策略
(1) 数据

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值