一、明细层
分区日期为终态业务过程日期,其余归档30001231分区
采用二级分区:
create table target_table(COL …) partitioned by (state string,dt string);
–partition(state=“3”,dt),表示state为静态分区,dt为动态分区,以src_table中的city字段为分区名
- insert overwrite table target_table partition(state=“3”,dt) select COL,‘yyyy-mm-dd’ from src_table;
state和city均使用动态分区 - insert overwrite table target_table partition(state,dt) select COL,state,‘yyyy-mm-dd’ from src_table;
采用第1)种
终态分区日期
比如status 1 --发单 2 --接单 3 – 消单 4 – 服务中 5-- 完单
date_format(case when new.tms[‘3’] <> ‘1971-01-01’ then new.tms[‘3’]
when new.tms[‘5’] <> ‘1971-01-01’ then new.tms[‘5’]
else ‘3000-12-31’ end),‘yyyy-MM-dd’)
每次ods层来的是新增与变化