首页 > 其他分享 >数据仓库命名规范

数据仓库命名规范

时间:2025-01-17 14:21:27浏览次数:1  
标签:聚合 数据仓库 规范 粒度 使用 命名 ETL

一、通用命名规范

1、目前主流的命名方法大体分类:大驼峰命名法 (camelCase) 和小驼峰命名法 (snake_case),本规范要求使用小驼峰命名法 (snake_case),统一为小写字符,单词之间使用下划线隔开,贴源层字段可以不遵守,字段命名和源系统保持一致。

2、单词长度不超过 64 个字符,字段或者表命名小于 6 级

3、命名尽量做到见名知意,言简意赅,尽量使用英文以及符合业界要求的字符,特殊情况下可以使用汉语拼音缩写

4、尽量避免使用关键字,确实需要使用关键字情况下使用“`”转义

5、优先使用词根管理规范中已有的关键字,定期维护词根规范表

6、定期 review 新增命名使用的字段规范性

二、表命名规范

1、聚合粒度以及加工频率字段说明

 

 

2、抽取方式字段说明

 

 

3、数据表命名规范详解

 

 

4、对于表名中统计周期和加工频率字段的补充说明

我们经常会发现聚合表的后缀会出现 _di 或者 _df,这里的 i 和 f 表示增量和全量,而 d 表示天,但是却又总是说不清楚它究竟是表示天级别的聚合粒度还是每天运行一次的加工频率。大多数情况下表的聚合粒度和它的调度周期是一致的,然而也确实存在例外的情况,在 dws 层你可能每天运行一个聚合到小时级粒度的数据,以观察每小时的走势。站在使用者的角度来看,他并不关心表的调度周期,只在乎这个表的聚合粒度。

所以我们尽量不将表使用无关的 ETL 信息暴露给使用者。在 dws 层的时间后缀只表示该表的聚合粒度,与 ETL 的调度周期无关。

三、字段命名规范

同名同义性是我们对字段命名的首要要求。如果两个字段名字一样,那么它们的含义应该是一样的;反之,如果两个字段名字不一样,那么它们的含义就一定是要有区别的。当这个要求放在单个主题域内的时候,还是容易实现的。当它推广到全域范围内,这个事情就会变得有些困难。其次,字段名称清晰是另外一个要求。良好的字段命名应当是自解释的,如果看完字段的注释还无法理解甚至曲解字段的含义,那个可以说这个字段的命名和注释是不合格的。

表分区字段说明

其他字段相关说明

1、数据表 etl 时间字段统一使用 etl_time

2、标志类型的字段,是否类型的,统一使用 int 类型,取值统一使用 0/1,0 代表否,1 代表是,不允许出现空值域(如果有空值则新增取值 2,代表未知)

3、字段命名规范中未说明的部分参照通用命名规范

四、任务命名规范

任务是组成工作流的最小单位,也是完成一次 ETL 的最小开发单位,同时也是调度任务进行失败重试的最小单元。我们要求一个任务只写一张目标表,同时任务的命名中必须包含该目标表的表名。

  转载 ---https://xie.infoq.cn/article/2b8475467f66690e5902d5b14

标签:聚合,数据仓库,规范,粒度,使用,命名,ETL
From: https://www.cnblogs.com/snackpython/p/18676898

相关文章

  • 请问WebSql是HTML5的一个规范吗?
    WebSQL并不是HTML5的一个规范。尽管它常常与HTML5的技术栈一起被提及,但WebSQL本身是基于SQLite的一个独立规范,引入了一组使用SQL操作客户端数据库的API。这些API允许前端开发者在浏览器中创建、读取、更新和删除数据库中的数据,从而提供了一种在客户端存储和管理数据的机制。然而,......
  • HTML5规范将元素分为哪几个大类?分别说说它们的特点
    HTML5规范将元素主要分为以下几个大类:结构性元素、级块性元素、行内语义性元素以及交互元素。下面分别介绍它们的特点:结构性元素:这类元素主要负责定义Web页面的上下文结构,确保HTML文档的完整性。常见的结构性元素包括<section>、<header>、<footer>、<nav>和<article>等。<......
  • 基于单片机的书写坐姿规范提醒器的设计(论文+源码)
    1功能设计本课题为基于单片机的书写坐姿规范提醒器的设计,其主要针对学生在进行书写时,经常会出现坐姿不对等现象,这样长期下去会影响学生的身体健康,因此本系统在功能上设计如下:采用超声波传感器检测坐姿,如果距离太近,则通过语音播报“距离过近请注意坐姿”的提示信息;通过光敏电......
  • Pandas数据重命名:列名与索引为标题
    目录一、引言二、Pandasrename方法简介三、列名重命名3.1使用字典进行列名重命名3.2使用函数进行列名重命名四、索引重命名4.1使用字典进行索引重命名4.2使用函数进行索引重命名五、同时重命名列名和索引六、原地修改与返回新对象七、处理MultiIndex(多级索引)......
  • dbt Semantic Layer 详细教程-6 :指标(metrics)配置规范及示例
    前面几篇博文介绍了语义模型及实体、维度和度量规范及示例,一旦创建了语义模型,就该开始添加度量了。可以在与语义模型相同的YAML文件中定义度量,也可以将度量拆分为单独的YAML文件,放入任何其他子目录中(前提是这些子目录也位于相同的dbt项目repo中)。本文介绍指标配置规范,并针......
  • 【转】[Java] 入参、出参、数据库实体等命名规则
    转自:kimi.ai在Java项目中,为了提高代码的可读性和可维护性,通常会对入参、出参和数据库实体等使用特定的后缀。以下是一些常见的命名规则和最佳实践:1.入参(RequestDTOs)后缀:Request 或 Dto描述:入参通常是指从客户端接收的数据传输对象(DTOs),用于封装请求参数。示例:U......
  • 【转】[Java] 常见的文件命名规则
    来自:kimi.ai在Java项目中,遵循良好的文件命名规则对于代码的可读性、可维护性和团队协作至关重要。以下是一些常见的文件命名规则和最佳实践:1.包名(PackageNames)使用小写字母:包名应全部使用小写字母,避免使用下划线或中划线。反映项目结构:包名应反映项目的模块和层次结构,通常......
  • 变量名能用中文吗_汉语拼音变量名_蛇形命名法_驼峰命名法
    变量名能用中文吗_汉语拼音变量名_蛇形命名法_驼峰命名法回忆上次内容上次研究了命名法(NamingConvention)大驼峰帕斯卡小驼峰蛇形python中所有的变量都必须用蛇形命名法吗?......
  • Node.js 如何实现文件夹内文件批量重命名
    文章目录一、引言二、Node.js简介2.1是什么2.2优势三、Node.js批量重命名原理3.1涉及的核心模块3.2关键函数四、实战步骤4.1环境搭建4.2代码实现4.3代码解释五、案例分析5.1场景描述5.2解决方案六、可能遇到的问题与解决方法6.1常见错误6.2解决方案七......
  • NLP 进阶:BERT + CRF 用于命名实体识别(NER)
    引言:命名实体识别(NER)是自然语言处理(NLP)中的一项关键任务,它帮助我们从文本中识别出具有特定意义的实体,例如人名、地名、组织机构等。在许多NER任务中,结合BERT和CRF(条件随机场)提供了强大的性能提升。今天,我们将深入探讨如何将BERT与CRF结合,打造一个高效、精准的命名实......