1.2 語法 建立數據庫 create database if not exists orders; 查詢建表的方式 create table as select 方式:根據查詢的結果自動建立表,並將查詢結果數據插入新建的表中。 克隆表 create table like tablename 方式:是克隆表,只複製tablename的表結構。 一、建立一個分區表,以dt爲分區列: create table if not exists invites ( id int, name string ) partitioned by ( dt string ) row format delimited fields terminated by '\t' [stored as textfile]; 二、將數據添加到時間爲2017-12-07這個分區中: load data local inpath '/home/orders.csv' overwrite into table invites partition (dt='2017-12-07'); load data local inpath '/home/orders.csv' overwrite into table invites partition (dt='2017-11-11'); 三、從一個分區中查詢數據: select * from invites where dt='2017-12-07'; 四、往一個分區表的某一個分區中添加數據: insert overwrite table invites partition (dt='2017-12-07') select id,max(name) from test group by id; 五、查看分區的具體狀況 show partitions tablename; eq: hive> show partitions orders; 【 精解: 這個日誌表以dt字段分區,dt是個虛擬的字段,dt下並不存儲數據,而是用來分區的,實際數據存儲時,dt字段值同樣的數據存入同一個子目錄中,插入數據或者導入數據時, 同一天的數據dt字段賦值同樣,這樣就實現了數據dt日期分區存儲。 當hive查詢數據時,若是指定了dt篩選條件,那麼只須要到對應的分區下去檢索數據便可,大大提升了效率。因此對於分區表查詢時,儘可能添加上分區字段篩選條件。 】