Hive Metastore 分区,它是如何工作的?
Posted
技术标签:
【中文标题】Hive Metastore 分区,它是如何工作的?【英文标题】:Hive metastore partition , how it works? 【发布时间】:2018-05-07 16:31:02 【问题描述】:我有几个疑问,请帮助我理解
-
在 Hive 中,我看到几个 Hive 表,集群和 Metastore 中的分区信息不同,这可能是什么原因?
在 Hive 中使用了“hive> show partitions”和“SELECT * FROM PARTITIONS WHERE TBL_ID=;”在元存储中。
-
对于某些 hive 表,我看到 Cluster 中的分区信息数量较少,但在 Metastore 中显示更多分区。对于这种类型的情况,当使用 where 分区子句在 hive 表中运行查询时,会出现某些分区丢失的错误。
在哪里有一些配置单元表,与集群相比,元存储的分区信息数量较少,在这种情况下,在 where 子句中使用分区运行查询时查询不会出错。
【问题讨论】:
【参考方案1】:我想您正在使用 Cloudera/Impala。文档说:如果您认为某个对象存在,但您在 SHOW 输出中看不到它,请与系统管理员核实是否需要授予该对象的新权限。 如果一个表是分区的,它可以跨越多个不同的 HDFS 目录。由于分区可以根据其 LOCATION 属性驻留在任意 HDFS 目录中,因此目录可能非常分散。
请看这里:show partitions
【讨论】:
以上是关于Hive Metastore 分区,它是如何工作的?的主要内容,如果未能解决你的问题,请参考以下文章
azure databricks使用external hive metastore跨工作区共享元数据