HIVE内部表和外部表互转ALTER语句

Posted 小基基o_O

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HIVE内部表和外部表互转ALTER语句相关的知识,希望对你有一定的参考价值。

亲测可行

转为外部表

ALTER TABLE 表名 SET TBLPROPERTIES('EXTERNAL'='TRUE');

转为内部表

ALTER TABLE 表名 SET TBLPROPERTIES('EXTERNAL'='FALSE');

查看表类型

DESC FORMATTED 表名;
Table Type说明
EXTERNAL_TABLE外部表
MANAGED_TABLE内部表(管理表)

补充

本文HIVE版本

2.1.1

测试

CREATE TABLE t1 (a INT);
DESC FORMATTED t1;
ALTER TABLE t1 SET TBLPROPERTIES('EXTERNAL'='TRUE');
DESC FORMATTED t1;
ALTER TABLE t1 SET TBLPROPERTIES('EXTERNAL'='FALSE');
DESC FORMATTED t1;

EXTERNAL_TABLEMANAGED_TABLE的主要区别:

EXTERNAL TABLE 被删时,对应的HDFS数据不会随之删除
MANAGED TABLE 被删时,对应的HDFS数据会随之删除

以上是关于HIVE内部表和外部表互转ALTER语句的主要内容,如果未能解决你的问题,请参考以下文章

hive 内部表和外部表的区别

[hive] hive 内部表和外部表

Hive内部表和外部表的区别

纵表与横表互转实例(转)

2min快速了解,Hive内部表和外部表

纵表与横表互转实例