【发布时间】:2012-10-22 02:32:16
【问题描述】:
我已经在 hive 中创建了一个表,我想知道我的表是在哪个目录中创建的?我想知道路径...
【问题讨论】:
我已经在 hive 中创建了一个表,我想知道我的表是在哪个目录中创建的?我想知道路径...
【问题讨论】:
要查看任何(内部或外部)表的结构和位置(目录),我们可以使用表的创建语句-
show create table table_name;
【讨论】:
DESCRIBE FORMATTED <tablename>
或
DESCRIBE EXTENDED <tablename>
我更喜欢格式化,因为它更易于阅读
【讨论】:
在 Hive 中有三种方式来描述表。
1) 要查看 Hive 表的表主信息,请使用 describe table_name; 命令
2) 要查看有关表的更多详细信息,请使用 describe extended table_name; 命令
3) 要以简洁的方式查看代码,请使用 describe formatted table_name; 命令查看所有信息。还要以简洁的方式描述所有细节。
【讨论】:
您可以使用以下命令。
show create table <table>;
desc formatted <table>;
describe formatted <table>;
【讨论】:
如果您没有特别提及您的位置,请在“默认”目录中。
您可以使用 describe 和 describe extended 了解表结构。
【讨论】:
所有HIVE 托管表都存储在下面的HDFS 位置。
hadoop fs -ls /user/hive/warehouse/databasename.db/tablename
【讨论】:
如果您使用Hue,您可以在 Metastore 应用程序中浏览表,然后单击“查看文件位置”:这将在其目录中打开 HDFS 文件浏览器。
【讨论】:
除了 pensz 答案,您可以使用以下方式获取更多信息:
DESCRIBE EXTENDED my_table;
或
DESCRIBE EXTENDED my_table PARTITION (my_column='my_value');
【讨论】:
在 hive 0.1 中,您可以使用SHOW CREATE TABLE 查找 hive 存储数据的路径。
在其他版本中,没有很好的方法来做到这一点。
更新:
感谢乔克
使用DESCRIBE FORMATTED <table>显示表格信息。
ps:这里不支持database.tablename。
【讨论】:
DESCRIBE FORMATTED my_table;
或
DESCRIBE FORMATTED my_table PARTITION (my_column='my_value');
【讨论】: