配置单元外部表位置与加载路径

b5lpy0ml  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(308)

通过浏览internet上有关外部表和托管表的内容,我了解到在创建外部表时需要指定位置,因为hive将在给定位置创建表,但对于托管表,将使用hive.metastore.warehouse.dir中提到的默认目录。如果有什么错误,请纠正我。
让我困惑的是:
location子句是用于指定外部表的数据存在的位置,还是用于创建存储实际数据的目录的位置?
如果location子句用于指定数据存在的位置,那么为什么在load语句中使用path子句呢。

r1zk6ea1

r1zk6ea11#

外部表的ddl中的location子句用于指定需要存储数据的hdfs位置。稍后,当我们查询表时,数据将从此指定路径读取。
load data inpath是将数据加载到表中的源文件的路径。源可以是本地文件路径或hdfs文件路径。
希望我把你的困惑弄清楚了。

相关问题