0
点赞
收藏
分享

微信扫一扫

电商订单BI项目

思考的鸿毛 2021-09-19 阅读 132

一、案例简介

1.1案例背景

本案例围绕某互联网小型电商的订单业务开发。某电商公司,每天都有一些的用户会在线上采购商品,该电商公司想通过数据分析,查看每一天的电商经营情况。例如:电商公司的运营部门想要清楚的看到每天的订单笔数、订单的下单总额、不同支付类型对应的订单笔数和总额等等。

为了实现公司的数据分析业务,我们需要开发一套数据分析的系统以实现电商公司的需求。

2.技术方案

本案例基于MySQL数据库,使用Kettle、Apache Superset实现数据可视化。案例使用MySQL作为数据分析的存储以及查询引擎、以Kettle作为数据处理脚本执行工具、以及Apache Superset实现数据可视化展示。

二、案例架构

2.1 系统架构


2.2数据流程图

1.通过Kettle将MySQL业务系统数据库中,将数据抽取出来,然后装载到MySQL数据仓库中。

2.编写SQL脚本,对MySQL数据仓库中的数据进行数据分析(分组、聚合等),并将分析后的结果保存。

3.使用 Superset 将保存下来的分析结果进行可视化分析。

三、搭建数据仓库

模拟真实业务场景,分别业务数据库虚拟机和数据仓库虚拟机

3.1创建项目并建立DataGrip数据库连接

1.新建项目名:itcast_shop_bi;并连接上数据仓库虚拟机服务器主机,测试连接成功。

3.2新建数据仓库架构,存放各功能数据。

四、项目开发

4.1表结构总览

本项目业务数据库一共六张表,如下:

4.2表字段解释

TODO数据字典

4.3 抽取业务数据到数据仓库

4.3.1 抽取频率分析

1. 每一天都需要进行订单的分析,例如:2020年4月18日一共有多少笔订单、订单的总额是多少。

2. 每一天都需要进行用户的分析,例如:2020年4月18日一共注册有多少个用户。

3. 商品分类、区域的变化率很少,因为分类、区域几乎都是常年不变的。

4. 商品的数据相对变化频率较高,因为可能每天都会有商品信息的更新。

4.3.2抽取业务数据到数据仓库ods层

数据仓库的ods表是将业务系统数据库表原样抽取进来,结构几乎是一样的,只不过加了一个抽取数据的日期字段。

4.4.3 kettle抽取业务数据到数据仓库

4.4 针对指标进行业务分析

使用datagrip对数据仓库ODS层的数据进行业务分析,加工的临时表放在DW层。分析完成的结果表放在ADS层

业务1-订单金额和笔数统计

业务2:下订单的用户数统计

业务3:统计某天不同支付类型下的支付总额和支付笔数

业务4:统计2019年9月下订单最多的用户TOP5

业务5:对一级分类进行分组统计得到销售额和订单数

5.superset数据可视化

5.1 启动Superset、连接MySQL

cd /root/anaconda3/

superset run -h 192.168.88.100 -p 8080 --with-threads --reload --debugger

登录superset

http://192.168.88.100:8080/superset/welcome

用户名: admin 密码:123456

5.2 连接mysql

Superset MySQL连接URL mysql://root:123456@192.168.88.100/itcast_shop_bi?charset=utf8

5.4 实现效果图


5.5操作步骤

连接数据仓库ads层数据表格

1. 订单销售总额

2.订单数量

3.用户数

4.不同支付方式订单数饼图

5.不同支付方式总金额环形图

6.订单数Top5的用户表格

7.各品类销售额柱状图

8.各品类订单数柱状图

9.品类销售额文字云

5.7创建项目dashboard,将处理过的图表放置到看板合适位置

举报

相关推荐

0 条评论