阅读量:0
1.hive的表类型分为外部表和内部表
内部表和外部表的主要区别在于数据的存储方式。
外部表:外部表的存储在hdfs中,是我们指定的文件目录,当我们删除数据或者删除分区的时候不会将元数据删除,数据还会在hdfs目录中,我们还可以进行数据挂载。
内部表:内部表的存储是在hdfs的默认目录下,当我们删除数据或者删除分区的时候会将元数据删除,数据文件也会被删除。
2.查看一个表是内部表还是外部表
DESCRIBE FORMATTED table_name
运行指令找到table_type 如果为MANAGED_TABLE,那就是内部表,
如果是EXTERNAL_TABLE,那就是外部表
3.创建内部表和外部表,外部表需要指定LOCATION
CREATE EXTERNAL TABLE external_table_name ( column1 data_type, column2 data_type, ... ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION '/path/to/table'; CREATE TABLE internal_table_name ( column1 data_type, column2 data_type, ... ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';