电商业务简介

电商业务流程

电商的业务流程可以以一个普通用户的浏览足迹为例进行说明,用户点开电商首页开始浏览,可能会通过分类查询也可能通过全文搜索寻找自己中意的商品,这些商品无疑都是存储在后台的管理系统中的。

当用户寻找到自己中意的商品,可能会想要购买,将商品添加到购物车后发现需要登录,登录后对商品进行结算,这时候购物车的管理和商品订单信息的生成都会对业务数据库产生影响,会生成相应的订单数据和支付数据。

订单正式生成之后,还会对订单进行跟踪处理,直到订单全部完成。

电商的主要业务流程包括用户前台浏览商品时的商品详情的管理,用户商品加入购物车进行支付时用户个人中心&支付服务的管理,用户支付完成后订单后台服务的管理,这些流程涉及到了十几个甚至几十个业务数据表,甚至更多。

电商常识

SKU = Stock Keeping Unit(库存量基本单位)。现在已经被引申为产品统一编号的简称,每种产品均对应有唯一的SKU号。

SPU(Standard Product Unit):是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息集合。

例如:iPhoneX手机就是SPU。一台银色、128G内存的、支持联通网络的iPhoneX,就是SKU。

SPU表示一类商品。同一SPU的商品可以共用商品图片、海报、销售属性等。

平台属性和销售属性

1)平台属性

2)销售属性

业务数据介绍

电商系统表结构

电商数仓系统涉及到的业务数据表结构关系。这34个表以订单表、用户表、SKU商品表、活动表和优惠券表为中心,延伸出了优惠券领用表、支付流水表、活动订单表、订单详情表、订单状态表、商品评论表、编码字典表退单表、SPU商品表等,用户表提供用户的详细信息,支付流水表提供该订单的支付详情,订单详情表提供订单的商品数量等情况,商品表给订单详情表提供商品的详细信息。实际项目中,业务数据库中表格远远不止这些。

活动信息表(activity_info)

字段名 字段说明
id 活动id
activity_name 活动名称
activity_type 活动类型(1:满减,2:折扣)
activity_desc 活动描述
start_time 开始时间
end_time 结束时间
create_time 创建时间

活动规则表(activity_rule)

id 编号
activity_id 活动ID
activity_type 活动类型
condition_amount 满减金额
condition_num 满减件数
benefit_amount 优惠金额
benefit_discount 优惠折扣
benefit_level 优惠级别

活动商品关联表(activity_sku)

字段名 字段说明
id 编号
activity_id 活动id
sku_id sku_id
create_time 创建时间

平台属性表(base_attr_info)

字段名 字段说明
id 编号
attr_name 属性名称
category_id 分类id
category_level 分类层级

平台属性值表(base_attr_value)

字段名 字段说明
id 编号
value_name 属性值名称
attr_id 属性id

一级分类表(base_category1)

字段名 字段说明
id 编号
name 分类名称

二级分类表(base_category2)

字段名 字段说明
id 编号
name 二级分类名称
category1_id 一级分类编号

三级分类表(base_category3)

字段名 字段说明
id 编号
name 三级分类名称
category2_id 二级分类编号

字典表(base_dic)

字段名 字段说明
dic_code 编号
dic_name 编码名称
parent_code 父编号
create_time 创建日期
operate_time 修改日期

省份表(base_province)

字段名 字段说明
id id
name 省名称
region_id 大区id
area_code 行政区位码
iso_code 国际编码
iso_3166_2 ISO3166编码

地区表(base_region)

字段名 字段说明
id 大区id
region_name 大区名称

品牌表(base_trademark)

字段名 字段说明
id 编号
tm_name 属性值
logo_url 品牌logo的图片路径

购物车表(cart_info)

字段名 字段说明
id 编号
user_id 用户id
sku_id skuid
cart_price 放入购物车时价格
sku_num 数量
img_url 图片文件
sku_name sku名称 (冗余)
is_checked 是否已经下单
create_time 创建时间
operate_time 修改时间
is_ordered 是否已经下单
order_time 下单时间
source_type 来源类型
source_id 来源编号

评价表(comment_info)

字段名 字段说明
id 编号
user_id 用户id
nick_name 用户昵称
head_img 图片
sku_id 商品sku_id
spu_id 商品spu_id
order_id 订单编号
appraise 评价 1 好评 2 中评 3 差评
comment_txt 评价内容
create_time 创建时间
operate_time 修改时间

优惠券信息表(coupon_info)

字段名 字段说明
id 购物券编号
coupon_name 购物券名称
coupon_type 购物券类型 1 现金券 2 折扣券 3 满减券 4 满件打折券
condition_amount 满额数(3)
condition_num 满件数(4)
activity_id 活动编号
benefit_amount 减金额(1 3)
benefit_discount 折扣(2 4)
create_time 创建时间
range_type 范围类型 1、商品(spuid) 2、品类(三级分类id) 3、品牌
limit_num 最多领用次数
taken_count 已领用次数
start_time 可以领取的开始日期
end_time 可以领取的结束日期
operate_time 修改时间
expire_time 过期时间
range_desc 范围描述

优惠券优惠范围表(coupon_range)

字段名 字段说明
id 购物券编号
coupon_id 优惠券id
range_type 范围类型 1、商品(spuid) 2、品类(三级分类id) 3、品牌
range_id 范围id

优惠券领用表(coupon_use)

字段名 字段说明
id 编号
coupon_id 购物券id
user_id 用户id
order_id 订单id
coupon_status 购物券状态(1:未使用 2:已使用)
get_time 获取时间
using_time 使用时间
used_time 支付时间
expire_time 过期时间

收藏表(favor_info)

字段名 字段说明
id 编号
user_id 用户id
sku_id skuid
spu_id 商品id
is_cancel 是否已取消 0 正常 1 已取消
create_time 创建时间
cancel_time 修改时间

订单明细表(order_detail)

字段名 字段说明
id 编号
order_id 订单编号
sku_id sku_id
sku_name sku名称(冗余)
img_url 图片名称(冗余)
order_price 购买价格(下单时sku价格)
sku_num 购买个数
create_time 创建时间
source_type 来源类型
source_id 来源编号
split_total_amount 分摊总金额
split_activity_amount 分摊活动减免金额
split_coupon_amount 分摊优惠券减免金额

订单明细活动关联表(order_detail_activity)

字段名 字段说明
id 编号
order_id 订单id
order_detail_id 订单明细id
activity_id 活动id
activity_rule_id 活动规则
sku_id skuid
create_time 获取时间

订单明细优惠券关联表(order_detail_coupon)

字段名 字段说明
id 编号
order_id 订单id
order_detail_id 订单明细id
coupon_id 购物券id
coupon_use_id 购物券领用id
sku_id skuid
create_time 获取时间

订单表(order_info)

字段名 字段说明
id 编号
consignee 收货人
consignee_tel 收件人电话
total_amount 总金额
order_status 订单状态
user_id 用户id
payment_way 付款方式
delivery_address 送货地址
order_comment 订单备注
out_trade_no 订单交易编号(第三方支付用)
trade_body 订单描述(第三方支付用)
create_time 创建时间
operate_time 操作时间
expire_time 失效时间
process_status 进度状态
tracking_no 物流单编号
parent_order_id 父订单编号
img_url 图片路径
province_id 地区
activity_reduce_amount 促销金额
coupon_reduce_amount 优惠金额
original_total_amount 原价金额
feight_fee 运费
feight_fee_reduce 运费减免
refundable_time 可退款日期(签收后30天)

退单表(order_refund_info)

字段名 字段说明
id 编号
user_id 用户id
order_id 订单id
sku_id skuid
refund_type 退款类型
refund_num 退货件数
refund_amount 退款金额
refund_reason_type 原因类型
refund_reason_txt 原因内容
refund_status 退款状态(0:待审批 1:已退款)
create_time 创建时间

订单状态流水表(order_status_log)

字段名 字段说明
id 编号
order_id 订单编号
order_status 订单状态
operate_time 操作时间

支付表(payment_info)

字段名 字段说明
id 编号
out_trade_no 对外业务编号
order_id 订单编号
user_id 用户id
payment_type 支付类型(微信 支付宝)
trade_no 交易编号
total_amount 支付金额
subject 交易内容
payment_status 支付状态
create_time 创建时间
callback_time 回调时间
callback_content 回调信息

退款表(refund_payment)

字段名 字段说明
id 编号
out_trade_no 对外业务编号
order_id 订单编号
sku_id 商品sku_id
payment_type 支付类型(微信 支付宝)
trade_no 交易编号
total_amount 退款金额
subject 交易内容
refund_status 退款状态
create_time 创建时间
callback_time 回调时间
callback_content 回调信息

SKU平台属性表(sku_attr_value)

字段名 字段说明
id 编号
attr_id 属性id(冗余)
value_id 属性值id
sku_id skuid
attr_name 属性名称
value_name 属性值名称

SKU信息表(sku_info)

字段名 字段说明
id 库存id(itemID)
spu_id 商品id
price 价格
sku_name sku名称
sku_desc 商品规格描述
weight 重量
tm_id 品牌(冗余)
category3_id 三级分类id(冗余)
sku_default_img 默认显示图片(冗余)
is_sale 是否销售(1:是 0:否)
create_time 创建时间

SKU销售属性表(sku_sale_attr_value)

字段名 字段说明
id d
sku_id 库存单元id
spu_id spu_id(冗余)
sale_attr_value_id 销售属性值id
sale_attr_id 销售属性id
sale_attr_name 销售属性值名称
sale_attr_value_name 销售属性值名称

SPU信息表(spu_info)

字段名 字段说明
id 商品id
spu_name 商品名称
description 商品描述(后台简述)
category3_id 三级分类id
tm_id 品牌id

SPU销售属性表(spu_sale_attr)

字段名 字段说明
id 编号(业务中无关联)
spu_id 商品id
base_sale_attr_id 销售属性id
sale_attr_name 销售属性名称(冗余)

SPU销售属性值表(spu_sale_attr_value)

字段名 字段说明
id 销售属性值编号
spu_id 商品id
base_sale_attr_id 销售属性id
sale_attr_value_name 销售属性值名称
sale_attr_name 销售属性名称(冗余)

用户地址表(user_address)

字段名 字段说明
id 编号
user_id 用户id
province_id 省份id
user_address 用户地址
consignee 收件人
phone_num 联系方式
is_default 是否是默认

用户信息表(user_info)

字段名 字段说明
id 编号
login_name 用户名称
nick_name 用户昵称
passwd 用户密码
name 用户姓名
phone_num 手机号
email 邮箱
head_img 头像
user_level 用户级别
birthday 用户生日
gender 性别 M男,F女
create_time 创建时间
operate_time 修改时间
status 状态


MySQL安装

https://blog.csdn.net/ztx22555/article/details/127491676

生成业务数据

1)在hadoop102的/opt/module/目录下创建db_log文件夹

[atguigu@hadoop102 module]$ mkdir db_log/

2)把gmall2020-mock-db-2021-11-14.jar和application.properties上传到hadoop102的/opt/module/db_log路径上。

3)根据需求修改application.properties相关配置

logging.level.root=infospring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://hadoop102:3306/gmall?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=123456logging.pattern.console=%m%nmybatis-plus.global-config.db-config.field-strategy=not_null#业务日期
mock.date=2020-06-14
#是否重置  注意:第一次执行必须设置为1,后续不需要重置不用设置为1
mock.clear=1
#是否重置用户 注意:第一次执行必须设置为1,后续不需要重置不用设置为1
mock.clear.user=1#生成新用户数量
mock.user.count=100
#男性比例
mock.user.male-rate=20
#用户数据变化概率
mock.user.update-rate:20#收藏取消比例
mock.favor.cancel-rate=10
#收藏数量
mock.favor.count=100#每个用户添加购物车的概率
mock.cart.user-rate=50
#每次每个用户最多添加多少种商品进购物车
mock.cart.max-sku-count=8
#每个商品最多买几个
mock.cart.max-sku-num=3 #购物车来源  用户查询,商品推广,智能推荐, 促销活动
mock.cart.source-type-rate=60:20:10:10#用户下单比例
mock.order.user-rate=50
#用户从购物中购买商品比例
mock.order.sku-rate=50
#是否参加活动
mock.order.join-activity=1
#是否使用购物券
mock.order.use-coupon=1
#购物券领取人数
mock.coupon.user-count=100#支付比例
mock.payment.rate=70
#支付方式 支付宝:微信 :银联
mock.payment.payment-type=30:60:10#评价比例 好:中:差:自动
mock.comment.appraise-rate=30:10:10:50#退款原因比例:质量问题 商品描述与实际描述不一致 缺货 号码不合适 拍错 不想买了 其他
mock.refund.reason-rate=30:10:20:5:15:5:5

spring.datasource.username=root
spring.datasource.password=123456
#业务日期
mock.date=2020-06-14
#是否重置 注意:第一次执行必须设置为1,后续不需要重置不用设置为1
mock.clear=1
#是否重置用户 注意:第一次执行必须设置为1,后续不需要重置不用设置为1
mock.clear.user=1

4)并在该目录下执行,如下命令,生成2020-06-14日期数据:


[atguigu@hadoop102 db_log]$ java -jar gmall2020-mock-db-2021-11-14.jar

5)查看gmall数据库,观察是否有2020-06-14的数据出现

业务数据采集模块

采集通道

Maxwell 采集工具

https://blog.csdn.net/ztx22555/article/details/127492100

采集通道Maxwell配置

1)修改Maxwell配置文件config.properties

[atguigu@hadoop102 maxwell]$ vim /opt/module/maxwell/config.properties

2)配置参数如下

log_level=infoproducer=kafka
kafka.bootstrap.servers=hadoop102:9092,hadoop103:9092#kafka topic配置
kafka_topic=topic_dbmysql login info
host=hadoop102
user=maxwell
password=maxwell
jdbc_options=useSSL=false&serverTimezone=Asia/Shanghai

3)重新启动Maxwell

[atguigu@hadoop102 bin]$ mxw.sh restart

4)通道测试

(1)启动Zookeeper以及Kafka集群

(2)启动一个Kafka Console Consumer,消费topic_db数据

[atguigu@hadoop103 kafka]$ bin/kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --topic topic_db

(3)生成模拟数据

[atguigu@hadoop102 bin]$ cd /opt/module/db_log/
[atguigu@hadoop102 db_log]$ java -jar gmall2020-mock-db-2021-11-14.jar

(4)观察Kafka消费者是否能消费到数据

{"database":"gmall","table":"cart_info","type":"update","ts":1592270938,"xid":13090,"xoffset":1573,"data":{"id":100924,"user_id":"93","sku_id":16,"cart_price":4488.00,"sku_num":1,"img_url":"http://47.93.148.192:8080/group1/M00/00/02/rBHu8l-sklaALrngAAHGDqdpFtU741.jpg","sku_name":"华为 HUAWEI P40 麒麟990 5G SoC芯片 5000万超感知徕卡三摄 30倍数字变焦 8GB+128GB亮黑色全网通5G手机","is_checked":null,"create_time":"2020-06-14 09:28:57","operate_time":null,"is_ordered":1,"order_time":"2021-10-17 09:28:58","source_type":"2401","source_id":null},"old":{"is_ordered":0,"order_time":null}}

2、电商数仓(业务数据采集平台)相关推荐

  1. 数据仓库之电商数仓-- 2、业务数据采集平台

    目录 一.电商业务简介 1.1 电商业务流程 1.2 电商常识(SKU.SPU) 1.3 电商系统表结构 1.3.1 活动信息表(activity_info) 1.3.2 活动规则表(activity ...

  2. 数据仓库之电商数仓-- 1、用户行为数据采集

    目录 一.数据仓库概念 二.项目需求及架构设计 2.1 项目需求分析 2.2 项目框架 2.2.1 技术选型 2.2.2 系统数据流程设计 2.2.3 框架版本选型 2.2.4 服务器选型 2.2.5 ...

  3. 大数据项目之电商数仓、业务数据介绍、电商系统表结构

    文章目录 6. 业务数据介绍 6.1 电商系统表结构 6.1.1 活动信息表(activity_info) 6.1.2 活动规则表(activity_rule) 6.1.3 活动商品关联表(activ ...

  4. 离线数仓03——业务数据采集平台

    文章目录 第1章 电商业务简介 1.1 电商业务流程 1.2 电商常识 1.2.1 SKU和SPU 1.2.2 平台属性和销售属性 第2章 业务数据介绍 2.1 电商系统表结构 2.1 MySQL安装 ...

  5. 数仓(二)—业务数据采集平台

    目录 第一章 电商业务简介 电商业务流程 电商系统表结构 第二章 业务数据采集模块 MySql安装 安装包准备 安装mysql 配置MySQL 业务数据生成 连接MySQL​编辑 创建数据库 生成业务 ...

  6. 1、电商数仓(用户行为采集平台)

    数据仓库概念 数据仓库( Data Warehouse ),是为企业制定决策,提供数据支持的.可以帮助企业,改进业务流程.提高产品质量等. 数据仓库的输入数据通常包括:业务数据.用户行为数据和爬虫数据 ...

  7. 31 大数据项目之电商数仓(用户行为数据采集)

    文章目录 第1章 大数据项目之电商数仓(用户行为数据采集) 第2章 项目需求 2.1 项目需求分析 2.2 项目框架 2.2.1 技术选型 2.2.2 系统架构图设计 2.2.3 系统数据流程设计 2 ...

  8. 数据仓库之电商数仓-- 4、可视化报表Superset

    目录 一.Superset入门 1.1 Superset概述 1.2 Superset应用场景 二.Superset安装及使用 2.1 安装Python环境 2.1.1 安装Miniconda 2.1 ...

  9. 数据仓库之电商数仓-- 3.4、电商数据仓库系统(ADS层)

    目录 九.数仓搭建-ADS层 9.1 建表说明 9.2 访客主题 9.2.1 访客统计 9.2.2 路径分析 9.3 用户主题 9.3.1 用户统计 9.3.2 用户变动统计 9.3.3 用户行为漏斗 ...

最新文章

  1. Activiti——管理流程定义(四)
  2. 翻译翻译:什么叫架构?
  3. 机械自动化专业转 PLC 还是单片机,路会更好走一些?
  4. 《Adobe Flash Professional CC经典教程》——1.13 查找关于使用Flash的资源
  5. 洛谷P1265 公路修建题解
  6. DCMTK:DcmElement :: calcElementLength的测试程序
  7. 成都Uber优步司机奖励政策(3月9日)
  8. PHP+MySQL 跨服务器跨数据库数据拷贝系统
  9. jq获取id的名称_查找 Linux 发行版名称、版本和内核详细信息 | Linux 中国
  10. 【报告分享】新基建专题报告:5g和数据中心的投资机会分析.pdf(附下载链接)...
  11. 面向对象的四大特征 封装 继承 多态 抽象
  12. UVA465 Overflow【大数】
  13. python爬虫代码-python网络爬虫源代码(可直接抓取图片)
  14. Word Frequency(Leetcode192)
  15. Android-EasyChart第二波饼图
  16. 在线图片尺寸怎么修改?图片在线修改尺寸大小方法
  17. 最贴心的2016赏樱攻略,错过一次,又等一年!
  18. 《星际争霸2》【技术分析】星际争霸2的一些技术特性
  19. android 导航栏navigation
  20. 期货开户需要具备⼀定的条件

热门文章

  1. 微波滤波器——Richard变换及Kuroda恒等变换(三)
  2. 强化学习论文分析1---多小区功率控制问题----《Power Allocation in Multi-cell Networks Using Deep Reinforcement Learning》
  3. [shader]动态天空球
  4. 奇迹mu网站管理系统霹雳网站的弹窗如何去除
  5. framework-admin-vue3 管理系统快速开发模板
  6. 动易DIV+CSS官方模板发布时附加的介绍性文章
  7. android2.x中android:layout_marginRight不起作用的解决办法
  8. 敏捷整洁之道 -- 第三章 业务实践
  9. oracle11g安装然后没了,centos7安装oracle11g到这一步卡在了?也没有安装界面
  10. MATLAB 数据分析方法(第2版) 1.1 数据分析与MATLAB