drop table if exists temp.dw_trd_wm_orderdetail_rs0;
create table temp.dw_trd_wm_orderdetail_rs0 as select * from d_extra.dw_trd_wm_orderdetail where 1=2;
insert overwrite table temp.dw_trd_wm_orderdetail_rs0
select ...(略)
这种写法比较严谨,会把d_extra.dw_trd_wm_orderdetail表的字段类型继承过来。
如果写成
drop table if exists temp.dw_trd_wm_orderdetail_rs0;
create table temp.dw_trd_wm_orderdetail_rs0 as select ...(略)
temp.dw_trd_wm_orderdetail_rs0表里字段的类型会根据生成的数据自己判断。
比如d_extra.dw_trd_wm_orderdetail里有个字段值是int,但是我们强制把它设置为string。
那写法1产生的结果就是string,写法2 的结果就是int。