— 1 创建分区表
create table username.test_par(
cust_no string
)partitioned by(province_code string comment "按网省分区" ,YM string comment "按年月分区")
row format delimited fields terminated by ',';
备注 该表中以province_code和ym作为分区
– 2 向分区表中插入数据
insert into username.test_par PARTITION(province_code='61',
YM='202106'
)
select '000' as cust_no;
备注:分区中province_code取值为’61’,ym取值为’202106’
– 3 向分区表中插入参数
insert into username.test_par PARTITION(province_code='${hiveconf:param_province}',
YM='${hiveconf:param_ym}'
)
select '000' as cust_no;
beeline -u "jdbc:hive2://ip:端口" -n dsjb_qwbqk_csq -hiveconf param_province='61' -hiveconf param_ym='202107' -f test-par.hql
test-par.hql .hql文件中的内容为:
insert into username.test_par PARTITION(province_code='${hiveconf:param_province}',
YM='${hiveconf:param_ym}'
)
select '000' as cust_no;
备注:insert overwrite是删除原有数据然后在新增数据,如果有分区那么只会删除指定分区数据,其他分区数据不受影响
|