在指定位置无法在配置单元中看到创建的数据库和表

时间:2019-09-30 14:00:33

标签: database hive hdfs

  1. 我在蜂巢中使用SQL创建了数据库。 我使用HDFS查找数据库。 但我无法在HDFS中找到数据库。

    在配置单元中:

    CREATE DATABASE practice
    LOCATION '/user/hive/warehouse'/
    

    检查:

    hdfs dfs -ls /user/hive/warehouse
    

    仓库什么都没有。

  2. 此外,我在蜂巢中的特定数据库中创建了一个表。 但是,使用Hue,我可以在默认位置看到该表。 我想将表插入特定的数据库位置。

    CREATE TABLE prac (
        id INT,
        title STRING,
        salary INT,
        posted TIMESTAMP
    )
    ROW FORMAT DELIMITED
    FIELDS TERMINATED BY ','
    LOCATION '/user/hive/warehouse/practice.db/prac';
    

    我在Hue和HDFS的数据库prac中找不到表practice

如何查看HDFS中的数据库? 而且我也想知道如何在特定数据库位置查看该表。

2 个答案:

答案 0 :(得分:0)

默认情况下,在创建配置单元表db name时尝试指定 prac 。配置单元在default数据库中创建表。

Example:

hive> CREATE DATABASE practice LOCATION '/user/hive/warehouse/practice.db';

hive> CREATE TABLE `practice.prac` ( id INT, title STRING, salary INT, posted TIMESTAMP ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION '/user/hive/warehouse/practice.db/prac';

答案 1 :(得分:0)

尝试使用以下命令:

创建数据库实践 位置'/user/hive/warehouse/practice.db';

hive默认情况下使用“ / user / hive / warehouse /”目录在此位置下创建数据库。因此,在创建数据库时,如果不提供位置,它将选择数据库位置,例如“ /user/hive/warehouse/practice.db”。

您可以在hdfs上选择任何位置,直到获得对该位置的读写许可为止。