数仓
文章平均质量分 63
sinadrew
每天进步一点点
展开
-
数据建模方法论
如何理解数据仓库从事数据开发后,再回头来看一看数据仓库的定义:数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。那么如何理解这几个关键词:面向主题的:主题(topic),即分类,专题分析。这里引入了主题模型的思想,实际操作中将数据按照业务线、业务模块层层细分。比如先划分大的业务域,每个业务域再按照业务过程划分数据域(一级、二级、三级数据域)。集成的:数仓系统和生产系统通常是隔离的,把跨源的、分散的多个业务DB的数据同步到数仓系统,按照一系列模...原创 2021-08-23 01:51:30 · 1539 阅读 · 0 评论 -
数仓模型-数据同步模型
数仓模型中ods层最容易忽略的就是数据删除操作,本文将介绍数据同步过程中对于删除数据的几种处理方法。首先假定我们的数据都是从mysql binlog同步到数仓的ods层。那么拉取binlog有两种方式(增量和全量),如果再细分的话就是每天增量或全量同步,和一次性增量或全量同步。如果是增量同步,则还需要和历史全量进行merge,在merge的时候要处理的问题有:1.如何处理insert、update、delete数据?2.如何处理数据飘移问题?先假设mysql表的结构如下:--mys原创 2021-04-08 23:42:37 · 704 阅读 · 0 评论 -
数仓模型-实时数据中台
模型演进:维度建模-> 宽表模型 -> dw模型 -> 子域模型数据模型子域模型:借鉴领域建模,面向领域对象,将稳定的子域业务逻辑进行沉淀,每一个子域都是dwd,再将所有的子域dwd合成数据中台dwd,最后再分流到各业务线,进行业务逻辑的开发。 事实表:事务事实表、周期快照事实表、累计快照事实表 实时数据中台:抽取业务系统中的公共部分成为服务,具备了对于前台业务变化及创新的快速响应能力。 中台既要全链路统一拉横,又要做薄 中台覆盖率80%,提效降本,快速支撑业务 子域原创 2021-04-08 23:39:43 · 776 阅读 · 0 评论 -
数仓模型-增全量合并
ods层数据同步时经常会遇到增全量合并的模型,即T-1天增量表 + T-2全量表 = T-1全量表。可以通过full outer join脚本来完成合并,但是数据量很大时非常消耗资源。本文将为您介绍在做增量数据的增加、更新时如何通过full outer join改写left anti join来实现的最佳实践。常规合并方法:insert overwrite table tb_test partition(ds='${bizdate}')select case when a.id is not n原创 2021-03-29 20:44:44 · 1873 阅读 · 1 评论 -
数仓模型-实时-合单模型
父子订单混合在一个表是一种比较常见的模型,按道理说一个事实表最好不要混用不同粒度的行,但是现在存在这种模型,对于实时任务的关联成本比较高。本文主要记录一下对于这种合单模型的优化,以减少关联次数。问题描述:A0是父订单,A1和A2是子订单,最终要把A0打横在A1和A2上。--合单===>主表:a(id)A0A1A2===>关系:relation(id1,id2)A1 ,A0A2 ,A0由于父子单混合,所有的表里面都区分不出来主子单,只能先全部关联。a是主表,b和c都是从原创 2021-04-08 23:18:47 · 346 阅读 · 0 评论