[hive] hive 内部表和外部表

本文介绍了Hive中内部表与外部表的区别。通过创建两种类型的表并加载相同的数据,展示了内部表在删除表时会一同删除数据的特点,而外部表即使删除表,其数据仍保留在指定位置。

1.内部表

hive (test1)> create table com_inner_person(id int,name string,age int,ctime timestamp) row format delimited fields terminated by ',';
OK
Time taken: 0.233 seconds
hive (test1)> load data local inpath '/opt/hadoop/person.data' into table com_inner_person;
Loading data to table test1.com_inner_person
Table test1.com_inner_person stats: [numFiles=1, totalSize=142]
OK
Time taken: 0.602 seconds
hive (test1)> select * from com_inner_person;
OK
1       王思琪  12      NULL
2       张三    13      NULL
3       王丽    43      NULL
4       三四    23      NULL
5       Python  12      NULL
Time taken: 0.075 seconds, Fetched: 5 row(s)

 

 

删除表后,数据也一起删除。 

 

2.外部表

hive (test1)> create external table com_ext_person (id int,name string,age int,ctime timestamp) row format delimited fields terminated by ',' location '/opt/hadoop/external';
OK
Time taken: 0.205 seconds
hive (test1)> load data local inpath '/opt/hadoop/person.data' into table com_ext_person;
Loading data to table test1.com_ext_person
Table test1.com_ext_person stats: [numFiles=0, totalSize=0]
OK
Time taken: 0.512 seconds
hive (test1)> select * from com_ext_person;
OK
1       王思琪  12      NULL
2       张三    13      NULL
3       王丽    43      NULL
4       三四    23      NULL
5       Python  12      NULL
6       spark   32      NULL
Time taken: 0.086 seconds, Fetched: 6 row(s)

 

 在指定的location中查看hdfs数据

删除表后,数据仍在。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值