千亿级数仓项目(一)

前言

学了这么久大数据技术,也是时候搞个项目练练手了,现在就来看看我们接下来要肝的项目。

总体介绍

阶段一
了解行业背景、了解项目背景,项目架构介绍、技术选型,项目环境(数据/硬件)介绍,项目ER图、项目需求介绍。
基于项目需求实现查询功能(写SQL)或整理出查询流程
阶段二
学习、掌握kettle的使用、使用kettle将项目需求所需的数据在MYsql同步到Hive
使用sqoop,将剩余的数据在MYsql同步到Hive
阶段三
学习数据仓库理论知识、创建数据仓库,并导入数据。
解决数据缓慢变化维问题
阶段四
编写SQL实现以下业务分析,并按照数据仓库结构存出结果
基于日期的订单指标分析(4)
基于地域的订单分类指标分析(18)
基于用户的订单指标分析(24)
基于用户的退货指标分析(5)
阶段五
学习、掌握kylin的使用,使用kylin,为数据仓库内的数据进行预计算
阶段六
用户浏览记录整理分析(点击流)

阶段一

课程目标
了解大数据离线数仓架构
了解项目部署环境(数据规模和集群规模)
了解项目ER图
了解项目需求

千亿级数仓项目简介

业务流程
现有的销售额已经是峰值了吗?是否可以继续提升?
如何在海量的客户和海量的商品之间找到结合点,达成更多的电子交易,促进电子商务平台竞争力提升,已经成为新时期网络购物,电子商务平台必须重视的重要问题。要从海量的数据中寻找决策,离不开先进的数据仓库技术。

千亿级数仓模仿阿里巴巴双十一的大屏显示功能实现的互联网电商指标的离线,同时也模仿了阿里巴巴大数据平台上面数据仓库的设计思想和理念。大家通过学习这个项目,能够掌握以下核心技能:
1、数据仓库的概念和建设过程
2、离线数据仓库的功能、使用场景和常用的技术栈

本次大数据数仓项目,主要围绕以下业务流程开展建设。对公司的运营、决策提供数据支撑。
商家发布商品
商家商品上架(商品可以被购买了)
用户搜索商品
用户浏览商品(查看商品的具体信息)
用户可以将商品添加到购物车
用户提交订单
用户支付

大数据离线数仓项目架构(需要修改)

在这里插入图片描述

项目技术简介

Kettle
缓慢变化维(拉链表):时间维度,脚本生成,时间维度生成之后不会变化
Hive
DataX:导出数据的工具
Spark SQL:计算引擎
Kylin:计算引擎,进行预计算之后的多维统计分析可以达到亚秒级别。

项目环境介绍

业务数据量
用户数:300W
每日订单量:10W
每日交易额:700W
商家数:5W
商品数:45W
PV:500W
UV:50W

数据在hdfs中平均每天40G左右的速度增长,存储3份,每天增长大概120G,【集群如何规划
硬件资源
数量:30台
CPU资源:24核
内存:128G
硬盘:4T

两种解决方式:
1:增加磁盘,对磁盘扩容,
2:把之前的历史数据导出,hadoop归档技术,可以方便导出我们大数据集群,避免占用集群的资源,再把数据导入即可。

项目ER图

E-R图也称实体-联系-图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。它是描述现实世界关系概念模型的有效方法。是表示概念关系模型的一种方式。
在这里插入图片描述
在这里插入图片描述
本项目数据在这里插入图片描述
本项目ER图
在这里插入图片描述
项目需求
需求列表
模块 序号
(所有) 序号
(模块) 需求
基于日期的订单指标分析 1 1 统计2019年期间每个季度的销售订单笔数、订单总额
2 2 统计2019年期间每个月的销售订单笔数、订单总额
3 3 统计2019年期间每周一到周日的销售订单笔数、订单总额
4 4 统计2019年期间国家法定节假日、休息日、工作日的订单笔数、订单总额
基于地域的订单分类指标分析 5 1 获取全国、无商品分类维度的分交易类型数据
6 2 获取全国、无商品分类维度的不分交易类型的数据
7 3 获取全国、一级商品分类维度的分交易类型数据
8 4 获取全国、一级商品分类维度的不分交易类型数据
9 5 获取全国、二级商品分类维度的分交易类型数据
10 6 获取全国、二级商品不分类维度的分交易类型数据
11 7 获取大区、无商品分类维度的分交易类型数据
12 8 获取大区、不分商品不分类维度的不分交易类型数据
13 9 获取大区、一级商品分类维度的分交易类型数据
14 10 获取大区、一级商品分类维度的不分交易类型数据
15 11 获取大区、二级商品分类维度的分交易类型数据
16 12 获取大区、二级商品分类维度的不分交易类型数据
17 13 获取城市、无商品分类维度的分交易类型数据
18 14 获取城市、无商品分类维度的不分交易类型数据
19 15 获取城市、一级商品分类维度的不分交易类型数据
20 16 获取城市、一级商品分类维度的分交易类型数据
21 17 获取城市、二级商品分类维度的不分交易类型数据
22 18 获取城市、二级商品分类维度的分交易类型数据
基于用户的订单指标分析 23 1 第一次消费时间–>支付时间
24 2 最近一次消费时间–>支付时间
25 3 首单距今时间–>支付时间
26 4 尾单距今时间–>支付时间
27 5 最小消费金额–>订单支付金额
28 6 最大消费金额–>订单支付金额
29 7 累计消费次数(不含退拒)–>订单id、订单状态
30 8 累计消费金额(不含退拒)–>订单支付金额、订单状态
31 9 近30天购买次数(不含退拒)–>是否为近30天、订单id、订单状态
32 10 近30天购买金额(不含退拒)–>是否为近30天、订单支付金额、订单状态
33 11 近30天购买次数(含退拒)–>是否为近30天、订单id
34 12 近30天购买金额(含退拒)–>是否为近30天、订单支付金额
35 13 客单价(含退拒)–>订单支付金额、客户订单数
36 14 客单价(不含退拒)–>订单支付金额、客户订单数、订单状态
37 15 近60天客单价(含退拒)–>是否为近60天、订单支付金额、客户订单数
38 16 近60天客单价(不含退拒)–>是否为近60天、订单支付金额、订单状态
39 17 常用收货地址–>用户收货地址
40 18 常用支付方式–>支付方式
41 19 学校下单总数–>用户收货地址
42 20 单位下单总数–>用户收货地址
43 21 家里下单总数–>用户收货地址
44 22 上午下单总数–>订单id、是否为上午
45 23 下午下单总数–>订单id、是否为下午
46 24 晚上下单总数–>订单id、是否为晚上
基于用户的退货指标分析 47 1 退货商品数量–>支付状态、订单商品数量
48 2 退货商品金额–>支付状态、订单金额
49 3 拒收商品数量–>支付状态、订单商品数量
50 4 拒收商品金额–>支付状态、订单金额
51 5 最近一次退拒时间–>订单退货时间

MySQL数据库建表及数据插入资源链接: link.

之后的MySQL数据要同步到hive需要用到kettle工具,可以去下载一下,下篇交怎么导入。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值