【问题标题】:I have created a table in hive, I would like to know which directory my table is created in?我在 hive 中创建了一个表,我想知道我的表是在哪个目录中创建的?
【发布时间】:2012-10-22 02:32:16
【问题描述】:

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

【问题讨论】:

    标签: hive hiveql


    【解决方案1】:

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

    show create table table_name;
    

    【讨论】:

      【解决方案2】:
      DESCRIBE FORMATTED <tablename>
      

      DESCRIBE EXTENDED <tablename>
      

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

      【讨论】:

        【解决方案3】:

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

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

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

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

        资源:Hive interview tips

        【讨论】:

          【解决方案4】:

          您可以使用以下命令。

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

          【讨论】:

            【解决方案5】:

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

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

            【讨论】:

              【解决方案6】:

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

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

              【讨论】:

              • 在安装/配置上看起来非常具体,不是吗?
              • 这正是问题
              【解决方案7】:

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

              【讨论】:

                【解决方案8】:

                除了 pensz 答案,您可以使用以下方式获取更多信息:

                DESCRIBE EXTENDED my_table;
                

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

                【讨论】:

                  【解决方案9】:

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

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

                  更新:

                  感谢乔克

                  使用DESCRIBE FORMATTED &lt;table&gt;显示表格信息。

                  ps:这里不支持database.tablename。

                  【讨论】:

                  • 我可以做些什么来查看非默认数据库中表的信息。我无法在该命令中提供数据库?
                  • confirmative.DESCRIBE FORMATTED 有效,而 SHOW CREATE TABLE 无效
                  【解决方案10】:

                  DESCRIBE FORMATTED my_table;

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

                  【讨论】:

                  • 这个答案非常好......非常感谢乔......我可以在这里找到关于我的桌子的所有东西。
                  • 这很好用。知道如何在一个命令中查看所有分区信息吗?
                  猜你喜欢
                  • 2019-01-29
                  • 2021-01-14
                  • 1970-01-01
                  • 1970-01-01
                  • 2018-05-07
                  • 2021-08-07
                  • 2023-03-07
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多