前言:
所谓外部表,就是Hive并非认为其完全拥有这份数据。删除该表并不会删除掉这份数据,不过描述表的元数据信息会被删除掉。关于Hive数据仓库的管理表(MANAGED_TABLE)和外部表(EXTERNAL_TABLE)的区别,在创表的时候,如果不指定,则默认创建管理表。如果不知道此表是什么类型的表的话,可以在hive的命令行里打desc formatted table_name查看TABLE TYPE行查看;如果需要创建外部表则需要在创表的语句指定为external,如:create external table table_name。
案例:
1.管理表
我现在有一份名为student.txt,内容如下:
1001 lisi
1002 wangwu
1003 zhaoliu
我把他上传到hdfs上的/student目录下:
hive (default)> dfs -mkdir /student;
hive (default)> dfs -put /opt/module/datas/stu