hadoop - hive中如何获取表是动态分区还是静态分区

标签 hadoop hive hiveql beeline hive-partitions

试图在 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/

相关文章:

sql - 更改表/分区的工作 “Concatenate”命令

hive - 如何更改现有 Hive 表中的列注释而不包含新的列名称和类型?

hadoop - 如何为配置单元中的所有加载数据启用 snappy 压缩?

hadoop - 由于在映射端聚合中使用 HashMap 而导致内存不足

python - 将gzip文件保存在应用于rdd的函数中

oracle - 将 BLOB(图像)从 oracle 导入到 hive

java - 使用 Java API 查找提交 yarn 应用程序的用户

hadoop - 无法通过Cloudera Manager中的端口14000连接到WebHDFS

configuration - 为 Hive 中的 INSERT OVERWRITE SELECT 指定压缩编解码器

hadoop - reducer 配置单元数和计数(不同)