我已经在 hive 中创建了一个表,我想知道我的表创建在哪个目录中?

我已经在 hive 中创建了一个表,我想知道我的表创建在哪个目录中?我想知道。

185210 次浏览

在 hive0.1中,您可以使用 SHOW CREATE TABLE查找 hivestore 数据的路径。

在其他版本中,没有这样做的好方法。

更新:

谢谢 Joe K

使用 DESCRIBE FORMATTED <table>显示表格信息。

这里不支持 ps: datase.tablename。

DESCRIBE FORMATTED my_table;

或者

DESCRIBE FORMATTED my_table PARTITION (my_column='my_value');

更进一步的思想回答,你可以得到更多的信息使用:

DESCRIBE EXTENDED my_table;

或者

DESCRIBE EXTENDED my_table PARTITION (my_column='my_value');

如果你使用 色调,你可以在 Metastore 应用程序中浏览表格,然后点击“查看文件位置”: 这将打开其目录中的 HDFS 文件浏览器。

所有 HIVE托管表都存储在下面的 HDFS位置。

hadoop fs -ls /user/hive/warehouse/databasename.db/tablename

如果你没有特别提到你的位置,在“默认”目录。

您可以使用描述和描述扩展来了解表结构。

您可以使用下面的命令。

show create table <table>;
desc formatted <table>;
describe formatted <table>;

在蜂巢中有三种方式来描述表。

1)使用 描述表名;命令查看 Hive 表的主要信息

2)使用 描述扩展表名;命令查看表的详细信息

3)使用 描述格式化的表名;命令查看所有信息以清晰的方式查看代码。并以清晰的方式描述所有细节。

资料来源: 蜂巢面试小贴士

要查看 any (内部或外部)表的结构和位置(目录) ,可以使用 table 的 create 语句-

show create table table_name;
DESCRIBE FORMATTED <tablename>

或者

DESCRIBE EXTENDED <tablename>

我更喜欢格式化,因为它是更人性化的可读格式