Hive外部表-数据位置元数据存储在哪里?

DJE*_*bow 3 mysql hadoop hive amazon-s3 emr

我在Amazon EMR上使用Hive外部表。这些表通常是分区的,每个分区都指向S3中的不同存储桶。我正在将MySQL用于Hive元数据存储。

我希望能够看到每个分区指向的S3上的位置/存储桶。我已经研究了MySQL中的元数据表。我在那里可以看到分区信息,但是没有任何信息表明该数据的实际位置。

该数据在MySQL中可用吗,还是可以通过Hive命令获得?

Sac*_*inJ 7

以下hive命令可用于获取位置

蜂巢> show create table <TableName>;

请在上述hive命令的输出中搜索“ LOCATION”行。


Chr*_*ris 5

对于外部分区表,每个分区都有一个位置,而不是表本身有一个位置。你需要使用类似的东西

show partitions employees

获取分区列表然后

describe extended employees partition (year='2016', month='05', day='25')

查看特定分区的位置。

其他命令show create table employees可能无法提供有关数据位置的有用信息:

LOCATION 'hdfs://nameservice1/user/hive/warehouse/something.db/employees'