创建表的三种方式:
方式一:新建表结构
CREATE TABLE emp( empno int, ename string ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' '; load data local inpath '/home/hadoop/files/emp.txt' overwrite into table emp;
方式二:复用已有的表结构
CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name LIKE existing_table_or_view_name [LOCATION hdfs_path]; create table emp2 like emp; //只能拷贝表结构不能拷贝表数据
方式三:拷贝表结构和表数据
create table emp3 as select * from emp; //包括数据内容
内部表:managed_table
外部表:external_table
内部表被删除时,hdfs上的数据,和元数据(mysql)上的数据都被删除。
外部表被删除时,hdfs上的数据还在,只删除元数据(mysql)上的数据。