【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;

参考链接:

  1. hive使用动态分区插入数据详解
  2. Hive 插入动态分区表时遇到的一些坑
posted @ 2022-10-08 15:10  星宇SKY  阅读(889)  评论(0编辑  收藏  举报