【SQL】动态分区插入数据
如果需要插入数据到同一分区表的多个分区,除了可以手动指定分区,还可以使用动态分区的方法进行插入。
需要在插入语句前加上:
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nostrict;
注意:
使用动态分区方法插入数据时,需要将分区字段置于select语句的最后一个字段。
示例:
点击查看代码
-- 正常的插入分区
insert overwrite table table1 (partition date=20221008)
select month
from table2;
-- 动态分区插入
set hive.exec.dynamic.partition = true;
set hive.exec.dynamic.partition.mode = nostrict;
insert overwrite table table1 (partition date)
select month
,date
from table2;
参考链接: