hive学习笔记之三:内部表和外部表( 二 )

  1. 建好t8表后立即查看数据 , 发现和t7表一模一样 , 可见它们已经共享了数据:
hive> select * from t8;OK107 a107Time taken: 0.068 seconds, Fetched: 1 row(s)hive> select * from t7;OK107 a107Time taken: 0.074 seconds, Fetched: 1 row(s)
  1. 接下来删除t7表 , 再看t8表是否还能查出数据 , 如下可见 , 数据没有被删除 , 可以继续使用:
hive> drop table t7;OKTime taken: 1.053 secondshive> select * from t8;OK107 a107Time taken: 0.073 seconds, Fetched: 1 row(s)
  1. 把t8表也删掉 , 再去看数据文件 , 如下所示 , 依然存在:
[hadoop@node0 bin]$ ./hadoop fs -cat /data/external_t7/000000_0107,a107
  1. 可见外部表的数据不会在删除表的时候被删除 , 因此 , 在实际生产业务系统开发中 , 外部表是我们主要应用的表类型;
表的操作
  1. 再次创建t8表:
create table t8(id int, name string)row format delimited fields terminated by ',';
  1. 修改表名:
alter table t8 rename to t8_1;
  1. 可见修改表名已经生效:
hive> alter table t8 rename to t8_1;OKTime taken: 0.473 secondshive> show tables;OKalltypet1t2t3t4t5t6t8_1values__tmp__table__1values__tmp__table__2Time taken: 0.029 seconds, Fetched: 10 row(s)
  1. 添加字段:
alter table t8_1 add columns(remark string);查看表结构 , 可见已经生效:
hive> desc t8_1;OKidintnamestringremarkstringTime taken: 0.217 seconds, Fetched: 3 row(s)【hive学习笔记之三:内部表和外部表】至此 , 咱们对内部表和外部表已经有了基本了解 , 接下来的文章学习另一种常见的表类:分区表;
欢迎关注我的公众号:程序员欣宸
hive学习笔记之三:内部表和外部表文章插图