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个表的字段,不同表要隔开,顺序cba,c表主键字段排在字段第一
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<

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

被折叠的 条评论
为什么被折叠?



