数据大体系(二)——数仓的一般命名规范

数据仓库主题四--(表命名规范) 待总结 todo 阅读详情

引

这一节,我们来讲讲数仓的一般的命名规范。

在这一节, 您相信您能获得以下知识:

  1. 传统数据仓库中,各个分层节点、表的命名方式

  2. 相信,有一些知识内容,您可以直接带回去用

命名原则

既然是聊的数仓的命名规范,那么一定会首先和上一节知识有关系。

在上一节我们聊到,一般的数仓纵向分层,我们会分成 ODS、DWD、DWS、DM/ADS ,按照这类简单的数据分层方式,将数据的加工流向进行标准化。因此,我们来先依次对这几个层的命名进行一些梳理和说明。

ODS

从上一节我们知道,ods 这一层,一般都是和 OLTP 业务系统贴近,所以基本是将业务系统中的数据给拉过来。因此,其操作行为主要是数据集成。

集成入库

集成入库,一般用这样的命名规范来表示:

```

imp_ods_{源系统库}_{源表名}

```

表的命名,基本可以遵循以下规范:

```

ods_{源系统库}_{源表名}

```

如果有特殊的时间要求,可在表后面加对应的时间标识,如 1d 或者 1m。

DWD/DWS

对于 DW 这一层而言,基本都是使用 SQL 进行数据加工的对应操作。因此 dwd/dws 都原则上以其目的来进行对应命名。而对于一般数据仓库而言,数据往往是分主题域进行的。啥是主题域?主题域其实是一种方便我们进行数据管理的一种分类。如我们一般电商行业分类会有 商品主题域、财务主题域、订单主题域等等。这里需要注意的是,每个行业的主题域都会有所差异,具体需要试业务场景而言,不可同日而语;但其本质我们可以进行参考,便是类似金字塔一样,将一个个数据划分到不同的一级、二级、三级目录,以方便我们的管理。因此,DW 这一层,节点上可以这样来进行命名规范:

```DWD/DWS 层

dwd/dws_{一级主题域}_{二级主题域}_{三级主题域}_业务_描述_di/df

```

这里业务、描述,可以比较灵活地去书写,保证其唯一性。

认真的读者一定会注意到最后的 di/df ,这个标识,指的的是数据是增量还是全量进行。 di 表示数据每次是增量写入,data increment ;而 df 则表示数据每次是全量写入 data full 。

对于表的命名,我们可以直接使用节点工作流的命名,以保证所见即所得的将节点和工作流匹配起来:

``` DWD/DWS 表的命名规范

dwd/dws_{一级主题域}_{二级主题域}_{三级主题域}_业务_描述_di/df

```

DM/ADS 层

对于 DM 来说,一般已经成为了一个指标的集市,因此一般而言可以以一个主题域为划分及命名,如下:

```DM 层节点/表的命名规范

dm_{一级主题域}_业务_描述_xd/xm/xy

```

这里, xd/xm/xy 一般指的是,我们的 DM 集市的更新周期,例如 1d 是更新周期为 1 天,1m 是一个月,7d 是 7 天这样。

不过,dm 也有可能会形成跨一级主题域的大的指标集市,这时候并不一定要做强制规范,可以灵活变动。

ADS 层基本也是类似。ADS 是基于特定的目的去设计的集合表,往往不会有特定的强制规范命名,不过也可以去遵循一定的规律:

``` ADS 层节点/表的命名建议

ads_{业务属主}_{应用缩写}_业务_描述_xd/xm/xy

```

这里,每个字段,都可以根据需要进行对应的调整,保持其灵活性。

其他

除了以上的大的一些分层,我们再做一些查漏补缺:

视图

视图,从本质上说,是从某个表来,为了某个目的而存在的一种‘表’。有时候你都不能叫表,所以以引号表示之。所以我们可以以其本质来对视图做一些规范:

```视图的命名规范

view_{来源的表名}_{特定目的}

```

这里我们看到,视图主要以 view 字段开头,连接其来源表,然后将对应的目的进行连接,达到视图表的创建规范。

集成导出

在数据的整体架构中,我们之前一直都在谈数据本身,而并没有对其承载的中间件做过多的介绍。事实上,不同的数据库系统中间件由于其底层数据结构/架构等不同,其擅长的领域也不同。如我们可以用 Hive 去做数仓,但 Hive 的计算实在···因此我们一般可以用类似 ClickHouse 或者 Vertica 或者阿里 ADS 这种分析型的数据库来对其加速。而这里我们就需要将在 Hive 里做了部分计算的中间数据导出到分析型数据库中,使用 DataX 或者其他的工具,可以完成这样的工作。

而这类的节点命名,我们也会遵循一定的命名规范:

``` 集成导出命名规范

exp_{需要导出的表名}_{导出到的系统}

```

当然如果只有一个需要导出的数据库系统,这里也可以省略。一切可以试实际情况进行操作。

临时

临时表一般比较简单,可以直接在我们想要进行开发的节点前加tmp,这里不再赘述。

结

本节,我们以非常简单的形式,介绍了一些可以参考的各个数仓分层的命名规范。而在实际业务中,往往还会因为不同的业务产生出其他的命名规范,但其基本的原则这里也都有涵盖。我们在实际过程中,灵活应用即可。

数仓理论知识之数仓命名规范 数据分层 数据运营层:ODS(Operational Data Store) ODS层,最接近源数据层,为了考虑后续数据追溯,这一层不建议做过多的数据清洗工作,最好原封不动的接入原始数据。 数据仓库层:DW(Data Warehouse) 数据仓库层是我们在做数据仓库时要核心设计的一层,在这里,要从ODS层提取数据建立各种数据模型,DW层又细分为DWD层,DWM层和DWS层。 DWD(Data Warehouse Detail) DWD层要做的是将数据清理、整合、规范化、脏数据、垃圾数据、规范不一致的、状 阅读详情

相关推荐

数仓表命名规范

格式举例:ods_mysql_bu_user_order_di,表示数据仓库中的ods层表,来源为mysql数据库,属于数据域bu,包含用户和订单信息,按天进行分区。- 层级:数据仓库中表的层级,包括:ods、dwd、dwc、dwb、dws、ads、dm、app、dim、tmp。格式举例:dws_hr_ba_labor_cost_budget_sum_mf (业务区人工成本预算表)格式举例:dwd_hr_talent_plan_dtl_di (人才规划明细表)ps: 无分区全量后缀使用"af"

XiaoQiong.Zhang的博客 2440

数据仓库命名规范详解

小时(h)、天(d)、周(w)、月(m)、季(q)、年(y)。实时(rt)、小时(h)、天(d)、周(w)、月(m)、季(q)、年(y)、一次性任务(o)、无周期(n)实时(rt)、小时(h)、天(d)、周(w)、月(m)、季(q)、年(y)、一次性任务(o)、无周期(n)实时(rt)、小时(h)、天(d)、周(w)、月(m)、季(q)、年(y)、一次性任务(o)、无周期(n)实时(rt)、小时(h)、天(d)、周(w)、月(m)、季(q)、年(y)、一次性任务(o)、无周期(n)

jiang1182427208的博客 6291

[离线数仓] 总结三、Hive数仓DIM层开发

DIM层设计要点:(1)DIM层的设计依据是维度建模理论,该层存储维度模型的维度表。(2)DIM层的数据存储格式为orc列式存储+snappy压缩。(3)DIM层表名的命名规范为dim_表名_全量表或者拉链表标识(full/zip)。

weixin_44428807的博客 1248

数据仓库之命名规范

数据仓库命名规范旨在确保数据仓库中的各种对象(如数据库、表、列、索引、视图等)具有一致、清晰且有意义的名称。这些规范有助于提高数据的可读性、可维护性和可理解性。以下是一些常见的数据仓库命名规范,涵盖了数据库对象的各个方面。

youziguo的专栏 1815

[数仓]三、离线数仓(Hive数仓系统)

Hive引擎包括:默认MR、tez、sparkHive on Spark:Hive既作为存储元数据又负责SQL的解析优化,语法是HQL语法,执行引擎变成了Spark,Spark负责采用RDD执行。Spark on Hive: Hive只作为存储元数据,Spark负责SQL解析优化,语法是SparkSQL语法,Spark负责采用RDD执行。

weixin_44428807的博客 1800

Hive - 数仓的分层理论

Hive - 数仓的分层理论 大数据职业规划 数据仓库 --> 数据开发 --> 数据挖掘 --> 全栈架构 数据仓库的用途 整合公司所有业务数据,建立统一的数据中心 产生业务报表,用于作出决策 为网站运营提供运营上的数据支持 可以作为各个业务的数据源,形成业务数据互相反馈的良性循环 分析用户行为数据,通过数据挖掘来降低投入成本,提高投入效果 开发数据产品,直接或间接地为公司盈利 数仓运行简图 数仓分层 1. 分层原因 把复杂问题简单化:将复杂的任务分解成多层来完成,每一层只处理

MiaoSO的博客 4002

hive 数仓开发实战

对于一个公司或者组织来说,使用数据的用户可能成百上千,如何降低大家对于数据使用的沟通成本、如何通过规范大家的行为来降低使用数据的风险,这些问题是必须加以考虑的。作为新的大数据架构,数据湖采集和存储一切数据,既包含结构化的数据也包含非结构化(如语音、视频等)和半结构化的数据(如JSON 和XML 等),既包含原始数据又包含经过处理的、集成的数据。数据湖鼓励分析师和数据科学家对原始数据在分析沙箱中进行探索、研究、实验,对于有价值的数据,再和数据开发、管理团队一起将其转为更容易操作和使用的数据。

weixin_42435657的博客 1966

[离线数仓] 总结二、Hive数仓分层开发

- ODS 层 Operate Data Store--存储从MySQL业务数据库和日志服务器的日志文件中采集到的数据-- 日志数据:JSON格式-- 业务数据:-- 全量:DataX,TSV格式,"fieldDelimiter": "\t",-- 增量:Maxwell,JSON格式-- 汇总数据:希望用最少得资源存储更多的数据。

weixin_44428807的博客 1294

如何设计大数据数仓中的 Code Reference

是指在数据仓库中用于存储“编码-描述”映射关系的标准化参考表。字段说明code_type编码类型(如:性别、订单状态)code_value编码值(如:M, F, 1, 0)对应的人类可读描述(如:男、女)数据来源系统生效时间失效时间(支持历史变更)is_active当前是否有效description: 男性Code Reference 虽然看似简单,却是构建高质量、可持续演进的大数据数仓的重要基石。✅ 提升数据一致性与可读性✅ 降低 ETL 复杂度与维护成本✅ 支持灵活的业务变化与历史追溯。

weixin_40266856的博客 1万+

大数据电商数仓项目--实战(一)数据准备

Hive 引擎包括:默认MR ,tez ,sparkHive on Spark 既作为 存储 元数据 又负责 SQL的解析优化 语法是HQL语法Spark on Hive :Hive只作为存储元数据,Spark 负责SQL解析优化 语法是Spark SQL语法什么是拉链表:拉链表,记录每条信息的生命周期,一旦一条记录的生命周期结束,就重新开始一条新的记录,并把当前日期放入生效开始日期。

m0_73745224的博客 2196

2023-DataWorks数仓开发手册收藏版

目前的数仓为离线数仓,因此DataWorks开发主要涉及到离线数据集成和数据模型开发,因此本节也是分两部分来描述。

ytp552200ytp的博客 6769

大数据数仓分层架构详解

数据仓库分层是一种将数据处理流程按照逻辑阶段进行划分的设计方法。职责分离:不同层级负责不同的任务,便于团队协作。数据质量可控:逐层加工,层层校验,保障最终数据准确性。复用性强:中间层数据可被多个下游应用共享。易于维护和扩展:局部修改不影响整体架构。ODS 层(操作数据存储层)DWD 层(数据明细层 / 明细事实层)DWS 层(数据服务层 / 汇总轻度聚合层)ADS 层(应用数据服务层 / 应用结果层)DIM 层(维度层)下面我们逐一介绍每一层的功能、技术实现和应用场景。

weixin_40266856的博客 1万+

电商数仓项目总结

一、项目整体架构 二、数据说明 2.1 用户行为数据 1、启动日志数据 是一个单 json 数据 2、事件日志数据 组成:时间戳、公共字段、事件日志 事件: (1) 商品列表 (2) 商品点击 (3) 商品详情 (4) 广告 (5) 消息通知 (6) 用户后台活跃 (7) 评论 (8) 收藏 (9) 点赞 (10) 错误日志 2.2 业务数据 1、订单表 2、订单详情表 3、sku 商品表 4、...

a1786742005的博客 6727

大数据数仓Hive和数据集市、数据治理

为企业制定决策、提供数据支持的,可以帮助企业改进业务流程提高产品质量等。DW不是数据最终目的地,而是为数据最终目的地做好准备,这些准备包括对数据的备份,清洗,转义、分类、重组、合并、拆分、聚合,统计等。是在数据库已经大量存在数据的情况下,一整套包括了ETL(用于描述将数据从来源端经过抽取、转换、加载到目的端的过程)、调度、建模在内的完整理论体系。

mnwl12_0的博客 2132

数据治理之数仓命名规范大全.pdf

一、数据运营层:ODS(Operational Data Store) ODS层,是最接近数据源中数据的一层,为了考虑后续可能需要追溯数据问题,因此对于这一层就不建议做过多的数据清洗工作,原封不动地接入原始数据即 可,至于数据的去噪、去重、异常值处理等过程可以放在后面的DWD层来做。 二、数据仓库层:DW (Data Warehouse) 数据仓库层是我们在做数据仓库时要核心设计的一层,在这里,从 ODS 层中 获得的数据按照主题建立各种数据模型 。DW 层又细分为DWD(Data Warehouse Detail )层、DWM(DataWareHouse Middle )层和DWS(Data WareHouse Servce ) 。

利用mininet模拟SDN架构并进行DDoS攻击与防御模拟(Ryu+mininet+sflow+postman)

1、知识概述 (1)软件定义网络: (2)mininet: Mininet是一个强大的网络仿真平台,通过这个平台,我们可以很方便的模拟真实环境中的网络操作与架构。特别是SDN,在真实网络中进行相关的网络实验有一定难度,自然需要一个仿真平台可以学习这种新型的网络架构,而Mininet就应运而生,承担了这个光荣而艰巨的使命。Mininet自带交换机(switchs)、主机(hosts)、控制器(controllers),同时,在mininet上可以安装OpenvSwitch、多种控制器(NOX\POX

北风 1万+

Hive数仓建设手册

数据仓库分为三层,自下而上为:数据引入层ODS(Operation Data Store):存放未经过处理的原始数据至数据仓库系统,结构上与源系统保持一致,是数据仓库的数据准备区。主要完成基础数据引入到MaxCompute的职责,同时记录基础数据的历史变化。数据公共层CDM(Common Data Model,又称通用数据模型层):包括DIM维度表、DWD和DWS,由ODS层数据加工而成。

爱是与世界平行 1731

P450酶催化循环的Amber-Gromacs混合模拟实战:从血红素加氧到产物释放

本文详细介绍了针对P450酶完整催化循环的Amber-Gromacs混合模拟实战策略。通过Amber为关键氧合血红素中间体(CPDI)构建精确力场,再利用Gromacs的高效GPU加速进行长时间尺度动力学模拟,完整覆盖从底物结合到产物释放的催化过程,为研究酶催化机制提供了强大的计算工具。

weixin_29201859的博客 315

2020数仓面试题

题目背景 现有一张用户观看记录表 ev_fs_view,基于该表需要进行相关统计分析。 数据如下 ymd user_id age view_time register_time 20200401 0001 25 15min 2020-04-01 13:01:23 20200401 0002 33 24min 2020-04-01 15:06:36 20200402 0001...

马斯特杨的博客 7148

Unity3D用c#脚本调用前端javascript函数:H5获取unity - webgl 加载并初始化完成的消息

unity3d发布的Webgl 可以作为静态文件加载到H5页面中,并通过javascript 调用unity内置的C#脚本函数,详见Webgl调用unity api。而往往我们需要知道Webgl ready的消息,本文将给出unity 内部调用javascript函数的方案加以解决。

Bravo 2476

解决用VScode写中文注释,Vivado打开之后是乱码的方法

这样就解决了中文注释乱码的问题,此外如果使用notepad++写verilog代码的话直接在notepad++上面将编码格式改为ANSI格式即可,更加方便快捷,所以此方法仅针对习惯用VScode写Verilog的同学,如果有其他好办法的话欢迎评论区补充。首先,VScode中的中文默认编码格式是UTF-8,然后Vivado的编码格式是vivado 默认的应该是ANSI编码格式,刚开始我先按照网上说明的,将VScode中的编码格式改为GBK格式(点击右下角->点击通过编码保存)。

weixin_50573305的博客 5809

怎么从0到1构建大厂企业级数仓

企业级数仓搭建,从0到1指导

2343

记录一次小项目中的重放攻击与解决方案

文章目录1、重放攻击简介2、重放攻击演示3、解决方案4、重放攻击验证 欢迎各位 前(提)来(出)讨(意)论(见)。 1、重放攻击简介 重放攻击(Replay Attacks)又称重播攻击、回放攻击,是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。 举个简单的小例子。 我们往系统里面插入一条数据,如果此次操作的数据包被攻击者获取,又恰巧后台没有对重复内容进行验证,那么攻击者就可以利用该数据包重复的发起请求,无限制的往数据库插入数据,即使请求包是加密的也

fiveSix 8725
上一篇: 数据大体系(一)——数据纵向分层
下一篇: 数据大体系(三)——指标
wrr-cat
博客等级 码龄9年 128粉丝 302原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值