在Hive中创建表时,默认情况下Hive负责管理数据。这意味着Hive把数据移入到它的“仓库目录”。另外一种选择是创建一个“外部表”(external table)。这会让Hive到仓库目录以外的位置去访问数据。
这两种表的区别表现在LOAD和DROP命令的语义上。先来看托管表(managed table)。
加载数据到托管表时,Hive把数据移到仓库目录。例如:
CREATE TABLE managed_table (dummy STRING);
LOAD DATA INPATH '/usr/tom/data.txt' INTO table managed_table;