1、现在新增了一个date类型的新字段值,默认空值,尝试将分区的字段值插入
执行以下的语句,将p_pftp_dim_currency表的2019-10-31号的数据插入到p_pftp_dim_currency_jeff中
其中data_dt是p_pftp_dim_currency的分区字段,data_date是p_pftp_dim_currency_jeff的普通字段
insert overwrite table pftp.p_pftp_dim_currency_jeff PARTITION(data_dt='2020-03-25',sysid='sysid_2')
select
currency_cd,
currenc_name,
data_src,
data_dt as data_date
from pftp.p_pftp_dim_currency a
where a.data_dt='2019-10-31'
结果显示插入成功,说明分区字段是可以插入到普通字段当中的
2、现在尝试将普通字段插入到分区字段中
插入前,需要设定动态分区
set hive.exec.dynamic.partition.mode=nonstrict;
#开启允许所有分区都是动态的,否则必须要有静态分区才能使用。
insert overwrite table pftp.p_pftp_dim_currency_jeff PARTITION(data_dt,sysid)
select currency_cd ,
currenc_name,
data_src,
'2020-03-25',
data_dt as data_dt,
'sysid_3'as sysid
from pftp.p_pftp_dim_currency a
结果显示是插入成功的
动态分区插入参考博客