离线数仓DIM层和DWD层,联表后表和字段命名规则

本文详细介绍了大数据处理中的维度建模方法,通过实例展示了如何从ODS层到DWD层构建数据仓库。首先,讲解了在DIM层中整合多个维度表,通过左连接确保数据完整性的过程。接着,展示了在DWD层如何将事实表与维度表联接,形成完整的业务事实记录。最后,提到了联表后的校验方法和视图的使用,以确保数据的一致性和可用性。

文章目录

DIM层

  • 1个维度表约30个字段
    3个维度表约100个字段
CREATE EXTERNAL TABLE `ods_a_full` (
  `id` STRING COMMENT '主键',
  `name` STRING COMMENT '名称'
) COMMENT 'a信息'
PARTITIONED BY (`ymd` STRING);

CREATE EXTERNAL TABLE `ods_b_full` (
  `id` STRING COMMENT '主键',
  `name` STRING COMMENT '名称',
  `a_id` STRING COMMENT '关联a.id'
) COMMENT 'b信息'
PARTITIONED BY (`ymd` STRING);

CREATE EXTERNAL TABLE `ods_c_full` (
  `id` STRING COMMENT '主键',
  `name` STRING COMMENT '名称',
  `b_id` STRING COMMENT '关联b.id'
) COMMENT 'c信息'
PARTITIONED BY (`ymd` STRING);

  • a一对多b一对多c

    c是最细维度

    c左联b左联a

  • 左联后
    命名取最细粒度c
    前缀dim,全量维度表后缀full,拉链表后缀zip
    则全名为dim_c_full

  • 建表
    1、完全复制3个表的字段,不同表要隔开,顺序cbac表主键字段排在字段第一
    2、不同维度表的字段名会重名(例如上面都有name),对此,所有字段前缀加上源表名,如:c_b_a_
    3、注释掉所有外键
    4、添加压缩和列式存储

CREATE EXTERNAL TABLE `dim_c_full` (
-- ods_c_full
  `c_id` STRING COMMENT 'c主键',
  `c_name` STRING COMMENT 'c名称',
  -- `c_b_id` STRING COMMENT '关联b.id'
-- ods_b_full
  `b_id` STRING COMMENT 'b主键',
  `b_name<
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小基基o_O

您的鼓励是我创作的巨大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值