DWS 层的功能是将具有相同分析主题的 DWD 层数据,聚合成宽表模型,便于数据分析与计算。当然主题的归纳一般具有通用性,后续也可能会随着分析业务的增加而扩展。
现在从业务数据的 5 张表中,归纳出了用户行为宽表、用户购买商品明细表,其它的主题大家也可以自行发挥。
从订单表、用户表、支付流水表中抽取字段,形成用户行为宽表。
从订单详情表、商品表、用户表,抽取字段形成用户购买商品明细表。
1. 在 Node03 节点,/home/warehouse/sql 目录下编写 dws_ddl.sql,创建 DWS 层数据表:
vim /home/warehouse/sql/dws_ddl.sql
SQL 文件内容如下:
-- 进入数据库
use mall;
-- 创建用户行为宽表
drop table if exists dws_user_action;
create external table dws_user_action
(
user_id string comment '用户 id',
order_count bigint comment '下单次数 ',
order_amount decimal(16,2) comment '下单金额 ',
payment_count bigint comment '支付次数',
payment_amount decimal(16,2) comment '支付金额 '