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

被折叠的 条评论
为什么被折叠?