大数据-241 离线数仓 - 电商核心交易 业务数据表结构 订单、产品、分类、店铺、支付表

点一下关注吧!!!非常感谢!!持续更新!!!

Java篇开始了!

目前开始更新 MyBatis,一起深入浅出!

目前已经更新到了:

  • Hadoop(已更完)
  • HDFS(已更完)
  • MapReduce(已更完)
  • Hive(已更完)
  • Flume(已更完)
  • Sqoop(已更完)
  • Zookeeper(已更完)
  • HBase(已更完)
  • Redis (已更完)
  • Kafka(已更完)
  • Spark(已更完)
  • Flink(已更完)
  • ClickHouse(已更完)
  • Kudu(已更完)
  • Druid(已更完)
  • Kylin(已更完)
  • Elasticsearch(已更完)
  • DataX(已更完)
  • Tez(已更完)
  • 数据挖掘(已更完)
  • Prometheus(已更完)
  • Grafana(已更完)
  • 离线数仓(正在更新…)

章节内容

上节我们完成了如下的内容:

  • 广告业务 测试
  • ADS层数据加载
  • DataX数据导出到 MySQL

在这里插入图片描述

业务需求

电商系统业务中最关键的业务,电商的运营活动都是围绕这个主题展开。
选取的指标包括:订单数、商品数、支付金额,对这些指标按销售区域、商品类型分析。

在大数据的分析中,"电商核心交易"是指电商平台上所有与商品交易相关的核心行为和交易数据的集合。具体来说,核心交易涵盖了商品的浏览、加购物车、下单、支付、发货、收货等一系列行为,它们直接影响电商平台的运营效率、用户体验和商业价值。

需求板块

电商平台的核心交易可以分为以下几个主要环节,每个环节都涉及大量数据的收集、存储和分析:

  • 商品浏览:用户浏览商品的行为数据,例如用户查看了哪些商品、查看时长、是否点击了相关广告或推荐商品等。这些数据能够帮助平台了解用户的兴趣点,进而优化商品推荐和个性化营销策略。
  • 加入购物车:用户将商品添加到购物车中的行为。通过分析购物车中的商品,可以获取用户的购买意图和倾向,帮助商家调整商品定价、库存和促销策略。
  • 下单:用户在电商平台上完成的订单生成行为。包括订单的创建、订单内容、用户的收货地址、选择的支付方式等数据。订单数据是电商交易中的核心,通常涉及大量的数据信息,要求系统能够高效地处理和存储。
  • 支付:支付是交易中至关重要的环节,支付数据可以通过支付方式、支付成功与否、支付金额、支付时间等维度进行分析。这部分数据可以帮助平台评估不同支付方式的受欢迎程度,并进行相应的优化。
  • 发货:商品发货数据记录了商家发货的时间、物流公司、物流单号等信息。通过对发货数据的分析,可以判断出物流时效、发货效率等关键指标,进一步优化供应链和物流流程。
  • 收货和评价:用户收到商品后的评价、退换货行为等。评价数据不仅反映了商品的质量和用户满意度,还对后续的购买决策产生影响。此外,退换货数据也能够反映出商品质量问题和物流中的痛点。

应用方向

电商平台通过大数据技术进行数据的实时采集、处理和分析,从而优化核心交易环节,提高转化率和用户满意度。以下是几个大数据在电商核心交易中的关键应用:

  • 精准推荐:基于用户的浏览、加购物车、历史购买等行为数据,通过机器学习和数据挖掘算法,电商平台可以为用户推荐其可能感兴趣的商品。精准推荐不仅提升了用户体验,也大幅提高了平台的销售转化率。
  • 实时库存管理:通过对商品浏览、加购物车、订单等数据的实时监控,电商平台可以准确预测库存需求,避免库存过剩或缺货的情况发生,从而优化供应链和物流效率。
  • 营销优化:大数据分析可以帮助商家了解不同营销活动对用户行为的影响。例如,通过对不同促销活动(如折扣、满减、秒杀等)的数据分析,商家可以了解哪些活动最受用户欢迎,从而调整营销策略。
  • 动态定价:电商平台可以根据市场需求、竞争情况、库存量、用户购买历史等因素,实时调整商品价格。大数据技术使得电商平台能够快速响应市场变化,提升价格竞争力。
  • 用户行为分析与预测:电商平台通过对用户行为数据的分析,可以对用户的购买意图和需求进行预测,进而进行个性化营销和推荐。此外,通过对用户流失率、购物车放弃率等数据的分析,可以帮助商家提升用户留存和转化率。
  • 物流优化:大数据分析能够帮助电商平台在订单生成后优化物流路线和配送计划,减少配送成本和配送时效,提高用户满意度。
  • 欺诈检测:通过对交易数据、支付数据等的深度分析,电商平台能够识别出异常交易模式,及时发现并防止欺诈行为。

业务数据库表结构

在这里插入图片描述
业务数据库,数据源:

  • 订单交易表(trade_orders)
  • 订单商品表(order_product)
  • 产品信息表(product_info)
  • 商家店铺表(shops)
  • 商家地域组织表(shop_admin_org)
  • 支付方式表(payments)

交易订单表

  • 记录订单信息
  • 订单状态
  • 创建时间、支付时间、修改时间
CREATE TABLE `wzk_trade_orders` (`orderId` bigint(11) NOT NULL AUTO_INCREMENT COMMENT '订单ID',`orderNo` varchar(20) NOT NULL COMMENT '订单编号',`userId` bigint(11) NOT NULL COMMENT '用户ID',`status` tinyint(4) NOT NULL DEFAULT '-2' COMMENT '订单状态: -3:用户拒收, -2:未付款的订单, -1:用户取消, 0:待发货, 1:配送中, 2:用户确认收货',`productMoney` decimal(11,2) NOT NULL COMMENT '商品金额',`totalMoney` decimal(11,2) NOT NULL COMMENT '订单金额(包括运费)',`payMethod` tinyint(4) NOT NULL DEFAULT '0' COMMENT '支付方式: 0:未知, 1:支付宝, 2:微信, 3:现金, 4:其他',`isPay` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否支付: 0:未支付, 1:已支付',`areaId` int(11) NOT NULL COMMENT '区域最低一级',`tradeSrc` tinyint(4) NOT NULL DEFAULT '0' COMMENT '订单来源: 0:商城, 1:微信, 2:手机版, 3:安卓App, 4:苹果App',`tradeType` int(11) DEFAULT '0' COMMENT '订单类型',`isRefund` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否退款: 0:否, 1:是',`dataFlag` tinyint(4) NOT NULL DEFAULT '1' COMMENT '订单有效标志: -1:删除, 1:有效',`createTime` varchar(25) NOT NULL COMMENT '下单时间',`payTime` varchar(25) DEFAULT NULL COMMENT '支付时间',`modifiedTime` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '订单更新时间',PRIMARY KEY (`orderId`)
) ENGINE=InnoDB AUTO_INCREMENT=355 DEFAULT CHARSET=utf8;

订单产品表

  • 记录订单中购买产品的信息,包括产品的数量、单价等
CREATE TABLE `wzk_order_product` (`id` BIGINT(11) NOT NULL AUTO_INCREMENT,`orderId` BIGINT(11) NOT NULL COMMENT '订单ID',`productId` BIGINT(11) NOT NULL COMMENT '商品ID',`productNum` BIGINT(11) NOT NULL DEFAULT '0' COMMENT '商品数量',`productPrice` DECIMAL(11,2) NOT NULL DEFAULT '0.00' COMMENT '商品价格',`money` DECIMAL(11,2) DEFAULT '0.00' COMMENT '付款金额',`extra` TEXT COMMENT '额外信息',`createTime` VARCHAR(25) DEFAULT NULL COMMENT '创建时间',PRIMARY KEY (`id`),KEY `orderId` (`orderId`),KEY `goodsId` (`productId`)
) ENGINE=InnoDB AUTO_INCREMENT=1260 DEFAULT CHARSET=utf8;

产品信息表

  • 记录产品的详细信息,对应商家ID、商品属性(是否新品、是否上架)
  • 创建时间和修改时间
CREATE TABLE `wzk_product_info` (`productId` bigint(11) NOT NULL AUTO_INCREMENT COMMENT '商品ID',`productName` varchar(200) NOT NULL COMMENT '商品名称',`shopId` bigint(11) NOT NULL COMMENT '门店ID',`price` decimal(11,2) NOT NULL DEFAULT '0.00' COMMENT '门店价格',`isSale` tinyint(4) NOT NULL DEFAULT '1' COMMENT '是否上架 0: 不上架, 1: 上架',`status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否新品 0: 否, 1: 是',`categoryId` int(11) NOT NULL COMMENT '最后一级商品分类ID',`createTime` varchar(25) NOT NULL COMMENT '创建时间',`modifyTime` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`productId`),KEY `shopId` (`shopId`) USING BTREE,KEY `goodsStatus` (`isSale`)
) ENGINE=InnoDB AUTO_INCREMENT=115909 DEFAULT CHARSET=utf8;

产品分类表

  • 备注:产品分类表 共分3个级别
CREATE TABLE `wzk_product_category` (`catId` int(11) NOT NULL AUTO_INCREMENT COMMENT '品类ID',`parentId` int(11) NOT NULL COMMENT '父ID',`catName` varchar(20) NOT NULL COMMENT '分类名称',`isShow` tinyint(4) NOT NULL DEFAULT '1' COMMENT '是否显示 0:隐藏 1:显示',`sortNum` int(11) NOT NULL DEFAULT '0' COMMENT '排序号',`isDel` tinyint(4) NOT NULL DEFAULT '1' COMMENT '删除标志 1:有效 -1:删除',`createTime` varchar(25) NOT NULL COMMENT '建立时间',`level` tinyint(4) DEFAULT '0' COMMENT '分类级别,共3级',PRIMARY KEY (`catId`),KEY `parentId` (`parentId`, `isShow`, `isDel`)
) ENGINE=InnoDB AUTO_INCREMENT=10442 DEFAULT CHARSET=utf8;

产品分类表,共分3个级别:

-- 查询第一级产品目录
SELECT catName, catid 
FROM wzk_product_category 
WHERE level = 1;-- 查询 "电脑、办公" 的二级子类目录
SELECT catName, catid 
FROM wzk_product_category 
WHERE level = 2 
AND parentId = 32;-- 查询 "电脑整机" 的三级子类目录
SELECT catName, catid 
FROM wzk_product_category 
WHERE level = 3 
AND parentId = 10250;

商家店铺表

  • 记录店铺的详细信息
CREATE TABLE `wzk_shops` (`shopId` int(11) NOT NULL AUTO_INCREMENT COMMENT '商铺ID,自增',`userId` int(11) NOT NULL COMMENT '商铺联系人ID',`areaId` int(11) DEFAULT '0' COMMENT '区域ID',`shopName` varchar(100) DEFAULT '' COMMENT '商铺名称',`shopLevel` tinyint(4) NOT NULL DEFAULT '1' COMMENT '店铺等级',`status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '商铺状态',`createTime` date DEFAULT NULL COMMENT '创建时间',`modifyTime` datetime DEFAULT NULL COMMENT '修改时间',PRIMARY KEY (`shopId`),KEY `shopStatus` (`status`)
) ENGINE=InnoDB 
AUTO_INCREMENT=105317 
DEFAULT CHARSET=utf8 COMMENT='商铺表';

商家地域组织表

  • 记录店铺所属区域
CREATE TABLE `wzk_shop_admin_org` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '组织ID',`parentId` int(11) NOT NULL COMMENT '父ID',`orgName` varchar(100) NOT NULL COMMENT '组织名称',`orgLevel` tinyint(4) NOT NULL DEFAULT '1' COMMENT '组织级别,1:总部及大区级部门; 2:总部下属的各个部门及基部门; 3:具体工作部门',`isDelete` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标志, 1:删除; 0:有效',`createTime` varchar(25) DEFAULT NULL COMMENT '创建时间',`updateTime` varchar(25) DEFAULT NULL COMMENT '最后修改时间',`isShow` tinyint(4) NOT NULL DEFAULT '1' COMMENT '是否显示, 0:是; 1:否',`orgType` tinyint(4) NOT NULL DEFAULT '1' COMMENT '组织类型, 0:总裁办; 1:研发; 2:销售; 3:运营; 4:产品',PRIMARY KEY (`id`),KEY `parentId` (`parentId`)
) ENGINE=InnoDB AUTO_INCREMENT=100332 DEFAULT CHARSET=utf8;

支付方式表

  • 记录支付方式
CREATE TABLE `wzk_payments` (`id` int(11) NOT NULL,`payMethod` varchar(20) DEFAULT NULL,`payName` varchar(255) DEFAULT NULL,`description` varchar(255) DEFAULT NULL,`payOrder` int(11) DEFAULT '0',`online` tinyint(4) DEFAULT NULL,PRIMARY KEY (`id`),KEY `payCode` (`payMethod`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/33967.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Linux-命令

文章目录 一. Linux的目录1. Linux的目录结构2. Linux的路径的描述方式3. home目录,当前工作目录4. 栗子 二. Linux命令入门1. 什么是命令,命令行2. Linux命令基础格式 三. 目录相关命令1. ls:展示当前工作目录下的内容2. cd:切换工作目录3. pwd:输出当前所在的工作目录4. 相对…

SpringBoot该怎么使用Neo4j - 优化篇

文章目录 前言实体工具使用 前言 上一篇中,我们的Cypher都用的是字符串,字符串拼接简单,但存在写错的风险,对于一些比较懒的开发者,甚至觉得之间写字符串还更自在快速,也确实,但如果在后期需要…

旋转图像

旋转图像 ​ 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 ​ 你必须在** 原地** 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像 示例 1: 输入:matrix [[1,2,3],[4,…

3D数据大屏实现过程,使用echarts、Next.js

📜 本文主要内容 数据大屏自适应方案动效 echarts: 3D 立体柱状图动态流光折线图 3D 地球(飞线、柱状图)无限滚动列表 🔍 大屏效果 数据大屏: 点击预览 🕹 运行条件 next 12.3.4echarts 5.4…

长文 | RAG的实战指南及探索之路

今天给大家带来一篇知乎孙鹏飞 的关于RAG实战的文章。 作者:孙鹏飞 知乎:https://zhuanlan.zhihu.com/p/6822534961. 背景介绍 RAG(Retrieval Augmented Generation,检索增强生成 )方法是指结合了基于检索的模型和生…

LeetCode—11. 盛最多水的容器(中等)

题目描述: 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:…

leetcode 63.不同路径||

1.题目要求: 2.题目代码: class Solution { public:int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {//创建dp数组的含义vector<vector<int>> dp;dp.resize(obstacleGrid.size());for(int i 0;i < dp.size();i){dp[i].…

C++:std::deque简介

std::deque 是 C 标准模板库&#xff08;STL&#xff09;中的一个双端队列&#xff08;Double-ended Queue&#xff09;容器。它是一种动态数组&#xff0c;允许快速地在序列的两端插入和删除元素&#xff0c;同时支持随机访问。 特点 双端操作 支持在队列头部和尾部快速插入和…

【Linux】基础IO_文件系统IO_“一切皆文件”_缓冲区

目录 1. 理解"⽂件" 1-1 狭义理解 1-2 ⼴义理解 1-3 ⽂件操作的归类认知 1-4 系统⻆度 访问文件&#xff0c;需要先打开文件&#xff01;那么是由谁打开文件&#xff1f;&#xff1f;&#xff1f; 操作系统要不要把被打开的文件管理起来&#xff1f; 2. 回顾…

nginx防盗链原理与实践

nginx防盗链的原理是基于http请求头中的referer来限制对资源的访问&#xff08;referer是用来告知浏览器该网页时从哪个页面链接来的&#xff09;&#xff0c;从而防止其他网站胃经授权直接链接资源。 nginx防盗链的作用是节省带宽和资源消耗&#xff0c;保护数据安全&#xf…

UG NX二次开发(Python)-UIStyler-选取点

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1、前言2、设计一个UI界面3、创建长方体的代码4、需要引入的库5、测试验证1、前言 采用Python语言进行UG NX二次开发的资料比较少,我本来不是很认可采用Python进行二次开发的,但是近期有读者咨询…

linux环境中后台运行java程序

在生产环境&#xff0c;我们通常需要让java进程后台运行&#xff0c;并且即使会话关闭&#xff0c;进程也依然存在。 使用的命令&#xff1a; nohup java -jar xxx.jar -> aaa.log 2>&1 & 详细介绍下上面这条命令 &#xff08;1&#xff09;nohup&#xff1a;…

算法笔记:力扣15、三数之和

思路&#xff1a; 实现代码 class Solution {public List<List<Integer>> threeSum(int[] nums) {List<List<Integer>> result new ArrayList<>(); Arrays.sort(nums); // 先对数组进行排序 for (int i 0; i < nums.length - 2; i) { /…

java基础语法光速入门

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文整理Java的基础语法部分 适合有编程基础的人快点掌握语法使用 没学过一两门语言的话。。还是不建议看了 极致的浓缩没有一点解释 注释 单行注释 // 多行注释 /**/ 数据类型 布尔型:true false 整型:int,lon…

karmada-descheduler

descheduler规则 karmada-descheduler 定期检测所有部署&#xff0c;通常是每2分钟一次&#xff0c;并确定目标调度集群中无法调度的副本数量。它通过调用 karmada-scheduler-estimator 来完成这个过程。如果发现无法调度的副本&#xff0c;它将通过减少 spec.clusters 的配…

LeetCode 力扣 热题 100道(十四)二叉树的中序遍历(C++)

给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 如下为代码&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullpt…

STM32之ADC采集和DMA传输(八)

STM32F407 系列文章 -内部ADC采集和DMA传输&#xff08;八&#xff09; 目录 前言 一、ADC特性 二、DMA特性 三、ADC采集 1.单通道ADC采集 1.头文件定义 2.函数adc_init() 3.函数HAL_ADC_MspInit() 4.函数adc_channel_set() 5.函数adc_get_result() 6.函数adc_get_r…

三菱人机界面GOT SIMPLE 系列 GS2107\GS2110\GS2512

以客户需求为核心的全面升级!GOT SIMPLE系列新功能 GOT SIMPLE升级版重磅更新&#xff0c;增添了许多期待已久的新功能&#xff0c;帮助用户实现远程维护! 扩充用户存储器容量至15MB&#xff0c;并支持轮廓字体&#xff0c;以实现平滑、靓丽的字体显示。此外&#xff0c;可使用…

VLTVG代码复现并讲解

train.py 在main函数中找到这个构建模型的地方&#xff0c;ctrl&#xff0b;左键点进这个函数中去 来到了这里 又来到了这里&#xff0c;这里就是构建模型的地方&#xff1a; 又来到了这里&#xff0c;还是在VLTVG.py这个文件中&#xff1a; Method The Overall Network Visua…

转换思维是为智

转换思维是为智 2023年11月08日(节选) 我们人的思维分为人间思维&#xff0c;圣人思维&#xff0c;菩萨思维。人间思维讲得通俗一点就是世间智慧&#xff0c;他拥有的是人间的智慧&#xff0c;讲得再简单一点&#xff0c;就是人间的聪明。圣人的思维是什么&#xff0c;是一种脱…