试图在 hive 中找到具有动态分区的表列表,尝试了以下命令但没有找到找到方法的线索,
尝试过的命令
show partitions <table_name>
describe formatted <table_name>
最佳答案
动态分区和静态分区没有区别。这就是分区的创建方式。动态 - 表示分区是使用创建的
insert overwrite table partition (partition_column) select ...
语句(未指定分区值)执行。
静态意味着分区是使用 alter table add partition...
语句或使用相同的 insert overwrite table partition (partition_column='static value')
语句创建的。元数据中没有这样的属性,因为使用 INSERT(动态或静态)或 ALTER(静态)创建的分区之间没有区别。可以在已经静态创建分区的表中动态创建分区,反之亦然,绝对没有区别。
您还可以使用 ALTER TABLE RECOVER PARTITIONS. 添加分区, 该语句创建的分区是同一个分区,无法与其他方式创建的分区区分开来。
关于hadoop - hive中如何获取表是动态分区还是静态分区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36875518/