我们可以列出 hive 中指向 hdfs 中特定位置的表吗?

Posted

技术标签:

【中文标题】我们可以列出 hive 中指向 hdfs 中特定位置的表吗?【英文标题】:Can we list out tables in hive pointing to a particular location in hdfs? 【发布时间】:2019-02-07 08:58:30 【问题描述】:

示例: hive>显示位置为“/user/hive/warehouse/data”的表;

样本输出:

Sample1(表名) 样本2

【问题讨论】:

【参考方案1】:

您可以使用 hadoop fs -ls 命令获取它。

hadoop fs -ls /path/to/data/dbname.db/managed

您可以使用命令show create table tablename获取路径 - /path/to/data

例子-

-bash-4.1$ hadoop fs -ls /PRJ/data/db/DBNAME.db/managed | head -5
Found 784 items
drwxr-xr-x   - admin admin          1 2018-12-11 05:16 /PRJ/data/db/DBNAME.db/managed/upc
drwxr-xr-x   - admin admin          1 2018-06-07 03:07 /PRJ/data/db/DBNAME.db/managed/aisle_pos_text_dim
drwxr-xr-x   - admin admin        252 2019-02-06 16:42 /PRJ/data/db/DBNAME.db/managed/alternate_receiving_wh_dim
drwxr-xr-x   - admin admin        218 2019-02-06 15:44 /PRJ/data/db/DBNAME.db/managed/backhaul_indicator_dim

【讨论】:

但我只有 hdfs 位置。我没有表名。【参考方案2】:

在您的数据节点上使用以下命令查看正在那里创建的所有表。

hdfs dfs -ls <your_hdfs_loaction_path>

当您在 hive 中创建数据库时,它会在配置的位置创建一个目录。在此目录中,您将拥有在 hive 中创建的所有外部/托管表的子目录。

以上命令将列出 HDFS 位置上的所有目录(表)。 如果您可以访问 Ambari,那么您也可以浏览 Ambari。

【讨论】:

以上是关于我们可以列出 hive 中指向 hdfs 中特定位置的表吗?的主要内容,如果未能解决你的问题,请参考以下文章

Hive中的数据库表数据与HDFS的对应关系

基于单机hdfs安装hive

hdfs显示查看下载上传删除文件操作

在Hive中通过Java和Python实现UDF进行对比

HiveServer2 在 hdfs /tmp/hive/hive 中生成很多目录

Hive知识点