1、动态分区全量
注意:动态分区字段必须在最后面及必须设置set hive.exec.dynamic.partition=true;不然报错
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
set hive.exec.max.dynamic.partitions=100000;
set hive.exec.max.dynamic.partitions.pernode=100000;
set hive.optimize.sort.dynamic.partition=true;
insert overwrite table t02_prod_quotation partition(busi_date)
select
t1.trade_dt AS TRADE_DT, --'交易日期'
t1.sk_f_prod AS SK_F_PROD, --'产品代理外键'
t1.sk_f_prod_source AS SK_F_PROD_SOURCE, --产品代理键来源01母02子
concat(t1.prod_code, if(substr(t1.sk_f_prod,3,2)='01', '.OF', '.PF')) AS STD_SECU_CODE, --'标准证券代码'
t1.prod_code AS PROD_CODE, --'产品代码'
t1.prod_name AS PROD_NAME, --'产品名称'
from_unixtime(unix_timestamp(), 'yyyyMMddHHmmss') AS SYNTIMESTAMP, --'内部使用'
from_unixtime(unix_timestamp(), 'yyyy-MM-dd') AS CREATE_DT, --'创建日期'
from_unixtime(unix_timestamp(), 'yyyy-MM-dd') AS UPDATE_DT, --'更新日期'
t1.busi_date AS busi_date --分区日期
from tmp_t02_prod_quotation_all_02 t1
3、静态分区增量
insert overwrite table t02_prod_quotation partition(busi_date = '2020-01-01')
select
t1.trade_dt AS TRADE_DT, --'交易日期'
t1.sk_f_prod AS SK_F_PROD, --'产品代理外键'
t1.sk_f_prod_source AS SK_F_PROD_SOURCE, --产品代理键来源01母02子
concat(t1.prod_code, if(substr(t1.sk_f_prod,3,2)='01', '.OF', '.PF')) AS STD_SECU_CODE, --'标准证券代码'
t1.prod_code AS PROD_CODE, --'产品代码'
t1.prod_name AS PROD_NAME, --'产品名称'
from_unixtime(unix_timestamp(), 'yyyyMMddHHmmss') AS SYNTIMESTAMP, --'内部使用'
from_unixtime(unix_timestamp(), 'yyyy-MM-dd') AS CREATE_DT, --'创建日期'
from_unixtime(unix_timestamp(), 'yyyy-MM-dd') AS UPDATE_DT --'更新日期'
from tmp_t02_prod_quotation_02 t1