在使用Sqoop导入表到Hive时,偶然发现有些表没有在Hive配置的/user/hive/warehouse目录下创建目录结构,而是在/user/root目录下创建。具体原因尚未查明,谨慎怀疑是那些导入出错的表导致,需要去甲方时再具体查看。在分析这个问题时,了解了Hive内部表在HDFS中的目录结构,总结如下。
1、默认情况
Hive内部表都属于缺省库default,在HDFS的目录为/user/hive/warehouse/(以下默认Hive的HDFS根目录为/user/hive)下。下图中abc,bonus,department,dept,emp为缺省库default下的几张表,目录名与表名一致。
[root@data1 ~]# hdfs dfs -ls /user/hive/warehouse/
Found 7 items
drwxrwxrwt - root hive 0 2017-04-07 14:24 /user/hive/warehouse/a.db
drwxrwxrwt - root hive 0 2017-03-27 14:13 /user/hive/warehouse/abc
drwxrwxrwt - root hive 0 2017-04-07 14