DWD 层的作用是对 ODS 层的数据进行清洗,但因为业务数据库的数据质量很高,所以只需要去除空数据即可。
除了数据清洗外,DWD 层还需要对 ODS 层的数据进行维度退化。而所有的表中,分类表可以被退化,维度合并到商品表中。即为商品表增加 6 列,分别存放一二三级品类的名称和 ID,并删除三张分类表。
在 DWD 层,基本保留所有表,然后减少分类表,并入到商品表中。
1. 在 Node03 节点,/home/warehouse/sql 目录下编写 dwd_ddl.sql,创建 DWD 层数据表:
vim /home/warehouse/sql/dwd_ddl.sql
脚本内容如下:
-- 进入数据库
use mall;
-- 创建订单表
drop table if exists dwd_order_info;
create external table dwd_order_info (
`id` string COMMENT '',
`total_amount` decimal(10,2) COMMENT '',
`order_status` string COMMENT ' 1 2 3 4 5',
`user_id` string COMMENT 'id' ,
`payment_way` string COMMENT '',
`out_t