如何以编程方式在Hive中查找外部表的所有文件位置?

问题描述 投票:0回答:2

我在Hive中有一些外部表,想编写一个脚本来调整其中的数据。由于Hive是读取文件的真实来源,因此我想从中获取分区的位置。

是否有一种方便的语法来获取外部表的所有分区的位置列表?

hive hiveql
2个回答
0
投票

describe命令将执行此操作:

DESCRIBE FORMATTED Db_name.table_name

0
投票

如果您有权访问hive metastore,则可以通过在脚本/程序下进行查询来获取详细信息:

例如在配置单元metastore上查询:

SELECT d.NAME, a.tbl_name, b.location, c.PART_NAME 
FROM dbs d 
inner join tbls a ON d.DB_ID = a.db_id 
inner JOIN sds b ON a.SD_ID = b.sd_id 
LEFT outer JOIN partitions c ON a.TBL_ID = c.tbl_id 
WHERE a.tbl_name = 'your_table_name' AND d.name = 'your_db_name'
© www.soinside.com 2019 - 2024. All rights reserved.