DWD层拉链表

用户维度拉链表

在这里插入图片描述
变化表加上开始时间与结束时间字段,与初始化拉链表进行union all
注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL

ods用户变化表 union all 初始的拉链表 按照ID在按照时间排序
需要注意overwrite,在进行左连接时候,存在新旧表反复使用现象,因此我们需要设定查询条件。
需要对初始化拉链表(旧表)设定查询条件,这样数据就不会混乱。

 select * from dwd_dim_user_info_his where start_date<'2020-06-15'

怎样反拉链?

执行脚本,因为我们给定了初始化拉链表查询条件,因此我们每次执行只需要改变时间即可,在实际开发中,我们可能在当天需要处理几个月前某几天数据,那么我们就需要给定时间依次导入。

Hive数据从ODS表到DWD表的操作一般需要经过以下步骤: 1. 创建ODS表:首先需要在Hive中创建ODS表,并使用外部表的方式将ODS数据导入到Hive中。可以使用以下命令创建外部表: ``` CREATE EXTERNAL TABLE ods_table ( column1 datatype1, column2 datatype2, ... ) COMMENT 'ODS表' ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' WITH SERDEPROPERTIES ( 'separatorChar' = ',', 'quoteChar' = '"' ) STORED AS TEXTFILE LOCATION 'hdfs://path/to/ods_table'; ``` 2. 创建DWD表:接下来需要在Hive中创建DWD表,并使用INSERT INTO SELECT语句从ODS表中选择数据插入到DWD表中。可以使用以下命令创建DWD表: ``` CREATE TABLE dwd_table ( column1 datatype1, column2 datatype2, ... ) COMMENT 'DWD表' PARTITIONED BY (dt string) STORED AS ORC; ``` 注意,这里创建的DWD表需要进行分区,以便后续的数据查询和分析。 3. 插入数据:接下来使用INSERT INTO SELECT语句将ODS表中的数据插入到DWD表中,可以按照日期进行分区,例如: ``` INSERT INTO TABLE dwd_table PARTITION (dt='20220101') SELECT column1, column2, ... FROM ods_table WHERE dt='20220101'; ``` 注意,这里需要根据需要选择需要导入的日期,以确保数据的准确性和完整性。 4. 数据查询和分析:最后,可以使用Hive SQL语句对DWD表进行查询和分析,以获取所需的数据。 以上就是Hive数据从ODS表到DWD表的操作流程,其中每一步都需要仔细处理,以确保数据的准确性和完整性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值