hive动态分区与半自动分区

动态分区与半自动分区要求:

①默认hive是不允许动态分区的,需要设置set hive.exec.dynamic.partition.mode=nonstrict

②分区列必须位于查询的最后一个字段

③select字段的个数要<=表的字段个数+1

静态分区:

insert overwrite 表名 PARTITION(dt='xxxx') : 是静态分区,在插入数据时,明确指定数据要插入到哪个分区!

动态分区:

通过查询的字段信息进行分区

insert overwrite table 表名 PARTITION(dt): 根据dt的字段的值,将不同的值动态插入到不同的分区!

半自动分区:

部分字段静态分区,注意静态分区字段要在动态前面

insert overwrite table 表名 PARTITION(dt='xxxx',dt) 

原文地址:https://www.cnblogs.com/atBruce/p/12650705.html