70

我在 hive 中创建了一个表,我想知道我的表是在哪个目录中创建的?我想知道路径...

4

10 回答 10

90

DESCRIBE FORMATTED my_table;

或者

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

于 2012-11-01T22:43:52.960 回答
23

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

1) 要查看 Hive 表的表主信息,请使用describe table_name;命令

2) 要查看有关表的更多详细信息,请使用describe extended table_name;命令

3) 要以干净的方式查看代码,请使用describe formatted table_name; 命令查看所有信息。还以简洁的方式描述所有细节。

资源:Hive 面试技巧

于 2015-05-11T13:08:40.963 回答
13

您可以使用以下命令。

show create table <table>;
desc formatted <table>;
describe formatted <table>;
于 2015-04-16T17:42:12.260 回答
8
DESCRIBE FORMATTED <tablename>

或者

DESCRIBE EXTENDED <tablename>

我更喜欢格式化,因为它是更易于阅读的格式

于 2018-04-13T21:23:06.090 回答
7

要查看任何(内部或外部)表的结构和位置(目录),我们可以使用表的创建语句-

show create table table_name;
于 2017-03-17T06:52:44.540 回答
5

在 hive 0.1 中,您可以使用它SHOW CREATE TABLE来查找 hive 存储数据的路径。

在其他版本中,没有好的方法可以做到这一点。

更新:

谢谢乔K

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

ps:这里不支持database.tablename。

于 2012-11-01T15:42:24.970 回答
3

除了 pensz answer,您还可以使用以下方法获取更多信息:

DESCRIBE EXTENDED my_table;

或者

DESCRIBE EXTENDED my_table PARTITION (my_column='my_value');
于 2012-11-09T08:32:18.117 回答
2

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

hadoop fs -ls /user/hive/warehouse/databasename.db/tablename
于 2014-11-18T06:26:47.783 回答
1

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

于 2013-07-18T06:01:46.473 回答
0

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

您可以使用 describe 和 describe extended 来了解表结构。

于 2015-04-16T17:09:10.310 回答