您的位置:首页 > 其它

hive内部表,外部表区别

2017-11-06 09:53 246 查看
内部表,就是一般的表,前面讲到的表都是内布标,当表定义被删除的时候,表中的数据随之一并被删除。

外部表,数据存在与否和表的定义互不约束,仅仅只是表对hdfs上相应文件的一个引用,当删除表定义的时候,表中的数据依然存在。

创建外部表,external是外部表的关键字,也是和内部表有区别的地方

create external table tblName(colName colType...);

加载数据

alter table tblName set location 'hdfs_absolute_uri';

外部表还可以在创建表的时候指定数据的位置,引用当前位置的数据。

create external table tblName(colName colType...) location 'hdfs_absolute_uri';

内部表和外部表的转换:

内——>外

alter table tblName set tblproperties('EXTERNAL'='TRUE');

外——>内

alter table tblName set tblproperties('EXTERNAL'='FALSE');
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: