JD数仓简介

数据仓储是什么?

定义

数据仓库(data warehouse,也称企业数据仓库)用于报告和数据分析的系统,被认为是商业智能的核心组件。数据仓库来自一个货多个不同源的继承数据的中央存储库。数据仓库将当前和历史数据存储在一起,用于为整个企业的员工创建分析报告;

特点

  • 面向主题:根据业务诉求,建相同业务意义归档至同一个主题区,如划分为客户、商品、营销、订单、配送等;
  • 集成的:数据来自企业各个OLTP生产系统,将所需数据从各OLTP生产系统出去出来进行架构和集成、统一和综合之后进入数仓;
  • 时间差异性:数仓随时间变化而变化,可追溯,能较好满足应用的需求;
  • 不可更新:数仓为决策分析提供数据,主要操作为数据统计分析;

核心是模型,模型的设计要按照业务需要设计;

位置

京东数仓对接生产系统数据,并向及时货应用提供支撑。

京东数据及时建设有两种

1,独立数据集市: 从数据采集开始完全独立构建;

2, 从属数据集市:数据集市建立在数仓之上,是数仓的一个子级(大多数业务建设方式)

JD数据仓库架构

JD数仓分层架构

数仓一共分为五层:

缓冲数据层,Buffering Data Model, BDM,源系统的数据,生产系统的快照,保存明细数据,按天分区,会保持最近一段时间的数据。通常一个BDM表对应源业务的一个表,或一个日志文件,数据结构和线上基本对应的;

基础数据层, Fundamental Data Model  FDM,也称贴源数据层,保存源业务系统数据快照,一般不对外开放;会做拉链表设计

通用数据层, General Data Model, GDM,负责统一的数据清洗,整合,实现各主题的数据标准化,屏蔽生产系统干扰,保障基础数据高可用;

聚合数据层, Aggregative Data Model, ADM,口径封装层, 负责统一的数据口径封装,提供各主题统一维度和指标的最细力度数据,为各业务方提供统一口径的共享数据服务;

应用数据层, APP,面相应用场景,提供特定场景的聚合数据;

维度层:DIM,用户分析数据的窗口,维度表包含事实数据表中事实记录的特性;

临时层:TMP, temp,降低加工过程的计算难度,提供运行效率的临时表,用完即舍,不保存历史数据;

中间层: ODM,用来封装清洗转换逻辑,保存清洗后的数据,供加工通用模型使用。保留历史数据

数仓模型设计流程

  1. 需求申请
  2. 需求调研
  3. 数据探查
  4. 模型设计
  1. MAPPING设计
  1. 脚本编写
  2. 任务测试和魔心数据验证
  3. 模型完善
  4. 模型上线
  5. 魔心运营

数仓表的介绍

拉链表

查询

获取最新数据:

select * from fdm_xx_table_chain where dp='AVTIVE';

select * from fdm_xx_table_chain where start_date <= sysdate(-1) and end_date > sysdate(-1);

获取历史数据:如获取16年12月1号数据

select * from fdm_xx_table_chain where start_date <= '2016-12-01' and end_date > '2016-12-01';

常见错误写法:

select * from fdm_xx_table_chain where dt = '2016-12-01';

注意:

1, 拉链表不建议用dt分区

2, start_date是字段而不是分区;

流水表

获取当前日期数据: select * from fdm_xx_table where dt = '2017-01-04';

获取2020-01-01到现在的数据: select * from fdm_xx_table where dt >= '2020-01-01';

说明: fdm流水表查询一般通过 dt + 业务日期字段配合使用;

拉链表和流水表对比

全量表

在使用GDM全量时,一定要指定分区,严谨不指定分区使用全量表;

增量表

增量表分为普两类

1,普通增量,gdm_online_log, 分区为dt,普通增量表的使用和fdm层流水表一致;

2,归档逻辑增联, gdm_m04_ord_sum, 分区为dp,dt

说明: 不同的gdm增量表偶不同的归档原则,例如订单gdm根据订单的数据不定期归档;大部分gdm按照30,90,180天进行归档;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值