Skip to content

实现了一整套电商数仓的搭建,包括数据采集平台的搭建,将用户的行为数据分为四层分别分层搭建,并实现业务数据库的分层搭建,针对数据仓库中的数据进行,留存、转化率、复购率、GMV、活跃等报表分析,使用当下主流程数的框架,这个项目采用Apache版本的框架实现,后续会上传CDH版本的框架实现,并实现最终的数据可视化。

Notifications You must be signed in to change notification settings

IronmanJay/E-CommerceWarehouse

Repository files navigation

E-CommerceWarehouse

【项目环境】

 Windows10、Centos7(三集群24G+8核)、Idea2019.3、Maven3.3.9、Flume1.9、kafka2.11-2.1.0、jdk1.8、zookeeper3.4.10、hadoop2.7.2、Hive1.2.1、Mysql5.7、Sqoop1.4.6、presto0.196、imply2.7.10、ApacheKylin2.5.1、Hbase1.3.1

【项目需求】

  • 数据采集平台搭建
  • 实现用户行为数据仓库的分层搭建
  • 实现业务数据仓库的分层搭建
  • 针对数据仓库中的数据进行,留存、转化率、GMV、复购率、活跃等报表分析
  • 实现Web页面的可视化操作

【用户行为数据采集部分】

 模拟日常电商网站的数据,编写脚本生成埋点数据,并通过爬取京东的真实商品作为我们的数据来源,保证更准确的模拟日常生产,并且搭建我们整个Apache项目框架,在这个阶段对我们整体框架进行基准测试,保证正常运行

【用户行为数据仓库】

 在这个阶段我们将数据分为四层,目的是:把复杂的问题简单化、减少重复开发、隔离原始数据,以下分别是这四层

  1. ODS层(原始数据层):原始数据层,存放原始数据,直接加载原始数据、日志,数据保持原貌不做处理
  2. DWD层(明细数据层):结构和粒度与原始表保持一致,对ODS层数据进行清洗(去除空值,脏数据,超过极限范围的数据)
  3. DWS层(服务数据层):以DWD层为基础,进行轻度汇总,一般聚集到以用户当日,设备当日,商家当日,商品当日等等的粒度
  4. ADS层(数据应用层):ADS层为各种统计报表提供数据,也可称为APP层、DM层

 在这一阶段我们会一层一层的处理我们的原始数据,根据业务要求最终得到结果,并编写相应的脚本简化我们的操作

【系统业务数据仓库】

 这一阶段主要是模拟电商网站的业务流程,进一步细化我们的业务逻辑,主要涉及到实体表、维度表、事务型事实表、周期型事实表、雪花模型、星座模型等,仍然是进一步处理数据,得到GMV成交总额、转化率及漏斗分析、品牌复购率等,最终使用Azkaban调度整个任务作业流程,实现数据的Web页面可视化,方便我们的查询并将数据更好的展示给用户

【即席查询数据仓库】

 这一阶段主要是为了实时的查询我们的数据,比如产品经理需要这一时刻的数据,所以我们采用Presto,这是一个开源的分布式SQL查询引擎,数据量支持GB到PB字节,主要用来处理秒级查询的场景,并使用了Druid,它也是一个快速的列式分布式的支持实时分析的数据存储系统,还有ApacheKylin,它是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,它能在亚秒内查询巨大的Hive表。我们三个都会采用,在不同的业务场景也会用不同的作用,这阶段主要是在原有架构的基础上增加功能,完善我们之前已经实现的功能,并进一步细化整个作业流程。

About

实现了一整套电商数仓的搭建,包括数据采集平台的搭建,将用户的行为数据分为四层分别分层搭建,并实现业务数据库的分层搭建,针对数据仓库中的数据进行,留存、转化率、复购率、GMV、活跃等报表分析,使用当下主流程数的框架,这个项目采用Apache版本的框架实现,后续会上传CDH版本的框架实现,并实现最终的数据可视化。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published