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、内连接..