执行一下这一行语句即可
set hive.exec.dynamic.partition.mode=nonstrict;
下面是解释:
Hive无法直接设置动态分区是因为Hive默认开启严格模式
动态分区的严格模式需要至少一个静态分区的字段,即必须有一个字段是值是固定的,而我们这里的一个值是一个变量,并没有写死,不是固定的,所以不满足默认的严格模式,所以我们把模式修改一下,将模式设置为非严格模式
即可使用动态分区。
执行一下这一行语句即可
set hive.exec.dynamic.partition.mode=nonstrict;
下面是解释:
Hive无法直接设置动态分区是因为Hive默认开启严格模式
动态分区的严格模式需要至少一个静态分区的字段,即必须有一个字段是值是固定的,而我们这里的一个值是一个变量,并没有写死,不是固定的,所以不满足默认的严格模式,所以我们把模式修改一下,将模式设置为非严格模式
即可使用动态分区。