IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 2021-10-24 -> 正文阅读

[大数据]2021-10-24

数仓表命名规范

模型

规范化模型分层、数据流向和主题划分,从而降低研发成本,增强指标复用性,并提高业务的支撑能力。

模型分层

优秀可靠的数仓体系,往往需要清晰的数据分层结构,即要保证数据层的稳定又要屏蔽对下游的影响,并且要避免链路过长。结合这些原则及以往的工作经验,在数仓层面,我们将分层进行统一定义为四层:

图片

模型数据流向

图片

   重构之后,业务按照标准的数据流向进行开发,即ODS->DWD->DW->DWS->ADS。在保障了数据链路的合理性之后,又在此基础上确认了模型分层引用原则:

正常流向:ODS->DWD->DW->DWS->ADS,当出现ODS->DWD->DWS->ADS这种关系时,说明主题域未覆盖全。应将DWD数据落到DW中,对于使用频度非常低的表允许DWD->DWS。

尽量避免出现DWS宽表中使用DWD又使用(该DWD所归属主题域)DW的表。

同一主题域内对于DW生成DW的表,原则上要尽量避免,否则会影响ETL的效率。

DW、DWS和ADS中禁止直接使用ODS的表, ODS的表只能被DWD引用。

禁止出现反向依赖,例如DW的表依赖DWS的表。

主题划分

面向业务:按照业务进行聚焦,降低对业务理解的难度,并能解耦复杂的业务。我们将实体关系模型进行变种处理为实体与业务过程模型。实体定义为业务过程的参与体;业务过程定义是由多个实体作用的结果,实体与业务过程都带有自己特有的属性。根据业务的聚合性,我们把业务进行拆分,形成了几个核心主题。

面向分析:按照分析聚焦,提升数据易用性,提高数据的共享与一致性。按照分析主体对象不同及分析特征,形成分析域主题在DWS 进行应用,例如用户分析域、订单分析域。

规范

模型是整个数仓建设基石,规范是数仓建设的保障。为了避免出现指标重复建设和数据质量差的情况,我们统一按照最详细、可落地的方法进行规范建设。

词根

词根是维度和指标管理的基础,也是表字段命名的参考

图片

表命名规范

通用规范

表名、字段名采用下划线分隔词根(consultorder->consult_order)

每部分使用小写英文单词,属于通用字段的必须满足通用字段信息的定义。

表名、字段名需以字母为开头。

表名、字段名最长不超过64个英文字符。

优先使用词根中已有关键字(数仓标准配置中的词根管理),定期Review新增命名的不合理性。

在表名自定义部分禁止采用非标准的缩写。

表命名规则

ods dwd层

建表表名一律小写

表名命名规则: [层次].[业务][表内容][周期+处理方式]

dw dws层

建表表名一律小写

表名命名规则: [层次].[主题][表内容][周期+处理方式] 主题在dw层以后,表内容 参考业务系统表名,做适当处理,分表规则可以没有

如:wedw_ods.test_order_info_df

wedw_ods表示层次,test表示主题,order_info表示表内容,d表示周期(天),f表示处理方式(全量抽取)

临时表命名规则:[层次].tb_目标表名_程序开始执行时间_序号

指标命名规范

结合指标的特性以及词根管理规范,将指标进行结构化处理。

A. 基础指标词根,即所有指标必须包含以下基础词根:

图片

B.日期修饰词,用于修饰业务发生的时间区间。

图片

C.聚合修饰词,对结果进行聚集操作。

图片

D. 基础指标,单一的业务修饰词+基础指标词根构建基础指标

E. 派生指标,多修饰词+基础指标词根构建派生指标。派生指标继承基础指标的特性.

F.普通指标命名规范,与字段命名规范一致,由词汇转换即可以。

G.日期类型指标命名规范,命名时要遵循:业务修饰词+基础指标词根+日期修饰词/聚合修饰词。将日期后缀加到名称后面,

H.聚合类型指标,命名时要遵循:业务修饰词+基础指标词根+聚合类型+日期修饰词。将累积标记加到名称后面,

统一输出

数仓建设不仅仅是为了数据内容而建设,同时也为了提高交付的数据质量与数据使用的便利性。所以我们交付出去的数据必须是符合标准的高质量的数据,必须做到准确性,完整性,关联性等标准

数据质量满足以下几点是可以进行输出的

在这里插入图片描述

  1. 数据资产管理

针对如何解决数据质量中维度与指标一致性以及如何提高数据易用性的问题,我们提出数据资产的概念,借助公司内部平台工具“大数据平台”实现了整个数据资产管理,它的功能如下图所示:

图片

借用大数据平台,我们实现了:

统一指标管理,保证了指标定义、计算口径、数据来源的一致性。

统一维度管理,保证了维度定义、维度值的一致性。

统一维表管理,保证了维表及维表主键编码的唯一性。

统一数据出口,实现了维度和指标元数据信息的唯一出口,维值和指标数据的唯一出口。

成就

优化开发流程

我们对开发过程进行梳理,服务于整个OneData体系。对需求分析、指标管理、模型设计、数据验证进行了改善,并结合OneData模型策略,改善了数仓管理流程。

需求分析:明确口径,评估排期,需求正规流程提交

指标管理:完善指标命名规范,指标同名同义,指标与业务强相关,明确指标构成要素

模型设计:完善开发流程规范,标准化业务调研,知识库文档集中管理,建立模型评审机制

ETL开发:ODS->DWD->DW->DWS->ADS

数据验证:制定数据测试标准

任务调度:规范化调度参数配置

上线管理

资产管理列表

基于数据平台形成的资产管理体系,如下图所示:

图片

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-25 12:36:07  更:2021-10-25 12:37:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 2:23:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码