1.內部表(也稱爲管理表)的創建:
create table if not exists student( id int, name string, age int ) row format delimited fields terminated by '\t';
//加載HDFS文件到Hive表中 load data inpath '/home/user/hive.txt' into table dept;
if not exists 可加可不加
//用來指定原文件的列分隔符
row format delimited fields terminated by '\t';
load 如果操作的HDFS上的文件,代表着會移動或者剪切文件
desc formatted dept; //描述表結構信息
Location: hdfs://com.qiyu02:8020/user/hive/warehouse/person.db/student
Table Type: MANAGED_TABLE
內部表和外部表的區別:create external table emp( empno int, empname string, empjob string, mgno int, birthday string, salary float, bonus float, depno int ) row format delimited fields terminated by '\t' location '/input/demo';
//描述表結構
desc formatted emp;
Location: hdfs://com.qiyu02:8020/input/demo
Table Type: EXTERNAL_TABLE
創建表
外部表創建表的時候,不會移動數到數據倉庫目錄中(/user/hive/warehouse),只會記錄表數據存放的路徑
內部表會把數據複製或剪切到表的目錄下
刪除表
外部表在刪除表的時候只會刪除表的元數據信息不會刪除表數據
內部表刪除時會將元數據信息和表數據同時刪除