数仓设计

需求

  1. 实时采集埋点的用户行为数据
  2. 实现数据仓库分层搭建
  3. 每天定时导入业务数据
  4. 根据数据进行报表分析

项目框架

技术选型

  • 数据采集传输:Flume,Kafka,Logstash,DataX,Sqoop
  • 数据存储:Hive,Mysql,HDFS,HBase,S3
  • 数据计算:Spark,Hive,Tez,Filnk,Storm
  • 数据查询:Presto,Impala,Kylin

系统架构图设计

在这里插入图片描述

系统数据流程设计

在这里插入图片描述

框架版本选型

产品 版本
Hadoop 2.7.2
Flume 1.7.0
Kafka 0.11.0.2
Kafka Manager 1.3.3.22
Hive 1.2.1
1. 背景和业务需求 随着电商行业的不断发展,用户购买商品的方式也在不断变化。为了更好地了解用户的需求,提高购物体验和销售额,我们需要建立一个数仓来收集、处理和分析各种数据。通过数仓,我们可以实现以下业务需求: 1.1. 了解用户购买行为,包括购买商品的种类、数量、价格、订单状态等信息。 1.2. 了解用户的浏览行为,包括浏览的商品、浏览时间、浏览时长等信息。 1.3. 了解用户的搜索行为,包括搜索的关键词、搜索时间、搜索结果等信息。 1.4. 了解商品的销售情况,包括销售量、销售额、销售渠道等信息。 1.5. 了解广告效果,包括广告点击量、广告费用、广告投放位置等信息。 2. 数仓设计 2.1. 维度模型 为了满足上述业务需求,我们设计了以下维度模型: 2.1.1. 用户维度模型 用户维度模型包含用户的基本信息,如用户ID、性别、年龄、地区等。此外,还包含用户购买、浏览、搜索等行为的指标信息。 2.1.2. 商品维度模型 商品维度模型包含商品的基本信息,如商品ID、名称、品牌、价格等。此外,还包含商品销售、浏览、搜索等指标信息。 2.1.3. 时间维度模型 时间维度模型包含时间的各种维度,如年、月、日、小时、分钟等。此外,还包含各种时间相关的指标信息,如销售额、订单量、浏览量等。 2.1.4. 广告维度模型 广告维度模型包含广告的基本信息,如广告ID、广告名称、广告类型、广告费用等。此外,还包含广告效果相关的指标信息,如广告点击量、广告转化率等。 2.2. ETL流程 为了将数据从业务系统中导入到数仓中,我们设计了以下ETL流程: 2.2.1. 数据抽取 通过数据抽取工具,从各个业务系统中抽取需要的数据。这些数据可以是关系型数据库中的数据,也可以是日志文件中的数据。 2.2.2. 数据清洗 对抽取的数据进行清洗,包括去重、填充缺失值、转换数据类型等操作。 2.2.3. 数据转换 将清洗后的数据转换为数仓中的维度模型和事实表模型。 2.2.4. 数据加载 将转换后的数据加载到数仓中,包括维度表和事实表。 2.3. 数据仓库架构 为了支持上述ETL流程和查询分析,我们设计了以下数据仓库架构: 2.3.1. 数据源层 数据源层包含各个业务系统中的数据源,包括关系型数据库、日志文件等。 2.3.2. 数据抽取层 数据抽取层通过ETL工具从数据源层抽取需要的数据,并进行清洗和转换。 2.3.3. 数仓数仓层包含维度模型和事实表模型,是数仓的核心部分。 2.3.4. 数据展示层 数据展示层通过BI工具展示数仓中的数据,包括报表、图表等。 3. 总结 通过上述数仓设计,我们可以实现对电商业务中各种数据的收集、处理和分析。这将有助于我们更好地了解用户需求和行为,提高购物体验和销售额。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值