大数据知识框架

本文详细介绍了数仓建模中的分层架构,包括ods、dw基础明细层、dw基础汇总层、dm主题层和rpt应用层,强调了数据分层的重要性。同时涵盖了数据治理的各个方面,如效率、质量和成本控制,以及组件原理中的HadoopMapReduce和Spark技术。文章还讨论了小文件问题及其解决方案和数据湖、内存管理等关键点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、数仓建模

漫谈数仓五重奏-腾讯云开发者社区-腾讯云

1、为什么要做数仓分层

分层是站在数仓全集的视角,对于一系列的计算过程抽象出通用的职责,规定每一层只做某些职责,每一层有自己独特的命名,并且不同层之间有明确的前后关系。

  • 持久化可以用空间换时间,节省计算资源。通过分层的数据预处理,能够更快满足应用的取数效率;增加了复用性,进而带来一致性的提升和开发效率的提升。

  • 分层处理数据,隔离变化,降低维护成本,从合作层面可以统一建设思路。基础层只做数据整合清洗,高级层关注业务规则,应用层面向数据应用,一个复杂工作拆分成多个层级关系清晰的简单任务,每一层的任务逻辑都相对简单且容易理解,当数据变动时,因为层与层分离,只需变动一小块。如果不分层,业务规则变动时,工作将十分麻烦,影响巨大,不宜处理。

  • 良好的数据流向,血缘清洗,为之后面向仓库的管理优化提供便利。

每一层的作用:

数仓层次

说明

作用

ods层

(源数据接入层)

存储数据仓库的源接入数据,分为两类:

  • 一类是关系型数据(比如mysql)到hive的存储,

  • 一类是非关系型数据(比如网站访问日志、广告日志log)在hive的存储

  • 此外还有一类数据也可归入ods层,使用到的其他事业部的数据表。 

ods作为数据缓冲层,是源系统的备份,粒度与源系统保持一致,一般实时或者类实时加载数据。ods层一般提供操作型报表(不推荐),此类报表应该是只关注当前数据,不关注历史的。除开发使用,排查case使用,ods层不允许用户直接访问进行数据分析。   

1)制定ods存储规则,(增量/全量/快照);  
2)监控ods核心数据的异常;

dw基础明细层

存储数据仓库的最底层明细数据,不面向分析,该层数据与ods源数据粒度相同,是对ods做过过滤、清洗、转化后统一的规整的数据存储,将分库分表的数据或者多业务线的数据做行级别的数据集合。

1)清洗ods数据,如ods中存在的一些软删除数据;
2)多数据源的数据归并,如日志的数据分散在搜索、推荐、联盟(一些情况下有些数据源数据的字段不一致度较高,建议不合并);
3)维度一致性处理,维度值不是标准维度的要进行转换;
4)事实一致性处理,如金额字段统一转换为‘元’为单位;

dw基础汇总层

该层存储对明细数据的维度汇总数据,这里的维度包括(日期维度,业务维度等),通过明细层聚合,基于明细层的一些指标基本在这一层定型(如pv,计费单位等),形成汇总层数据。

通常用维度建模构建星型模型、雪花模型、星座模型。
dw基础汇总层主要对明细层数据归并,为上层的主题层提供一致性的基础汇总模型。该层表根据粒度的粗细可分为轻度汇总,高度汇总表,即是该层表可以有内部依赖。

采用维度建模,事实表中需要包含主要分析维度的主键(包含较少的维度属性值),事实的是完全可加的事实,对于复合指标如比率,乘积,分子分母需要分开存储。 注:不同粒度的事实存储不同的事实表中。

dm主题层

主题层表加入业务逻辑,直观反应业务问题建模的多维聚合的宽表。

1) 采取反范式设计,为方便使用以宽表的形式提供
2) 业务主题层应该以“

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值