hive的應用
修改表:alter
增加分區:
刪除分區
重命名
增加/更新列
修改字段:
全部改:alter 表 replace columns(列名 類型);
舊的改新的:alter 表 change column 舊列名 行列名 類型;
拷貝一個表:(只有表結構,沒有分區)
create table like 舊錶;
重命名:
alter table 表 rename to 名;
load命令
就是單純的複製移動操作
在昨天的文件上傳的方法裏面已經說過了
所以load就是一定數據文件到hive指定地方的一個命令
insert命令
將查出來的結果插入到hive表裏
1.
>INSERT OVERWRITE TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 ...)]
>select_statement1 FROM from_statement
2.
>FROM from_statement
>INSERT OVERWRITE TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 ...)]
>select_statement1
>INSERT OVERWRITE TABLE tablename2 [PARTITION (partcol1=val1, partcol2=val2 ...)]
>select_statement2
...
3.
>INSERT OVERWRITE TABLE tablename PARTITION (partcol1[=val1], partcol2[=val2] ...)
>select_statement FROM from_statement
insert導出表數據
導出至本地
導出至HDFS
1.>INSERT OVERWRITE [LOCAL] DIRECTORY directory1
>SELECT ... FROM ...
2.>FROM from_statement表
>INSERT OVERWRITE [LOCAL] DIRECTORY directory1
>select_statement1
>[INSERT OVERWRITE [LOCAL] DIRECTORY directory2
>select_statement2] ...
二者無明顯差別,就是在細節的路徑的地方有些不同
select命令
基本的和之前的一樣,多了幾個排序的*** by的命令
沒有深入的理解實際的應用
join命令:
左連接、右連接、全連接、左半開連接 a left semi join b、內連接..