内部表:
创建语法:create table table_name ...
默认存储位置在: /user/hive/warehouse
删除内部表会直接删除元数据和数据,所以不适合和其他工具共享数据
外部表:
1.先创建外部表再移动数据到location目录
首先检查:hadoop fs -ls /tmp,确定不存在/tmp/test_ext1目录
创建语法:create external table test_ext1(id int,name string) row format delimited fields terminated by '\t' location '/tmp/test_ext1';
上穿数据 hadoop fs -put test_external.txt(这是已经存储数据的文件)/tmp/test_ext1/
select * from test_ext1,即可看到数据结果。
2.先存数据再创建表
hadoop fs -mkdir /tmp/test_ext2
hadoop fs -put test_external.txt /tmp/test_ext2/
create external table test_ext2(id int,name string) row format delimited fields terminated by '\t' location '/tmp/test_ext2';
select * from test_ext2;
查看表信息 desc formatted 表名;