• 数据仓库开发规范


    Schema定义

    ODS层

    ods_业务系统名_业务系统里的schema名(如ods_lps_kkb_cloud_passport)

    DM层

    应用层

    DWD层

    数据清洗层,去重,标准化,数据补齐。

    可以基于ER建模和维度建模。

    DWS层

    数据汇总与过程表维度表

    TEMP层

    临时表

    DIM表

    公共维度

    EXT层

    外部导入表,短期或长期使用,由该表负责人自己维护

    开发环境:

    DEV_DM

    DEV_DWD

    DEV_DWS

    DEV_TEMP

    DEV_EXT

    DEV_DIM

    表的定义

    采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线''组成,命名简洁明确,多个单词用下划线''分隔(特殊符号以及-严格要求不准使用)。
    全部小写命名,禁止出现大写
    表名称命名禁止使用数据库关键字,如:name,time ,datetime,password,tmp,ext等
    用单数形式表示名称,例如,使用 employee,而不是 employees
    单词单词分割用_分割
    表名称的通用命名规则:

      表名类型_主题域名称_业务名称1_业务名称2_后缀类型
    
      备注:
    

    表名类型:

    DIM 维度表
    FCT 事实表,事件表,关系表
    RPT 报表类表
    APP 数据产品类模型或其他服务宽表
    MID 中间表
    SMY 数据汇总表
    后缀类型:

    H 0-23 颗粒度快照表
    D 天颗粒度快照表
    M 月颗粒度快照表
    Y 年颗粒度快照表
    P 累计表或者过程表
    V 视图表
    _di是日快照,增量抽数,昨天的数据。

    _f(a)是日快照,全量抽数,历史到昨天的数据。

    表存储形式:

    无分区表和分区表,分区表一般以时间维度做分区列

    DW层表经常使用的表类型

    DIM和FCT类型表

    DM层经常使用的表类型

    RPT表

    表创建

    其他项目组成员如需要创建临时自用表,需要通过外部表的方式进行创建,数据文件创建在自己的文件系统中如
    create external table test(id int,name string,age int,tel string)
    ROW FORMAT DELIMITED
    FIELDS TERMINATED BY ','
    STORED AS TEXTFILE
    location '/user/liudaipeng/data/test';

    如创建一个临时的外部表test到/user/liudaipeng/data/test目录下。

    字段定义
    采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线''组成,命名简洁明确,多个单词用下划线''分隔
    全部小写命名,禁止出现大写
    字段首字符必须为英文字母,避免字段名为hive关键字
    字段名称一般采用名词或动宾短语
    不要在列的名称中包含数据类型
    单词单词分割用_分割

    正确例子:

    ①名词 示例:user_id user_name sex

    ②动宾短语 示例:is_friend is_good

    错误例子:

    ①大小写规则不统一

    错误示例:user_id houseID

    说明:使用统一规则,修改为”user_id”,”house_id”

    ②加下划线规则不统一

    错误示例:username userid isfriend isgood

    说明:使用下划线进行分类,提升可性,方便管理,修改为”user_name”,”user_id”,”is_friend”,”is_good”

    保留常用字段,数据中台下面字段代表特有含义

    id 表主键,一般数据中台代理主键
    created_time 创建时间
    updated_time 更新时间
    process_day etl处理日期
    year 分区年字段
    month 分区月字段
    day 分区日字段
    T+1的数据,数仓的dim表 和 fct表,过滤数据 日期到昨天。核对数据条数时,取截止昨天的业务数据条数与数仓数据条数核对。

  • 相关阅读:
    CentOS7安装mysql
    strusts2的开发包
    CentOS7配置mavne国内镜像
    卸载linux自带的jdk
    Centos7安装nodejs
    redis启动方式
    bash学习笔记——Shell变量
    bash学习笔记——bash是什么
    教育管理系统——android家长客户端
    php入门学习——php与jsp对比
  • 原文地址:https://www.cnblogs.com/lpdeboke/p/14109202.html
Copyright © 2020-2023  润新知