3 DML
3.1 Load Files
操作
|
Oracle
|
Hive
|
Impala
|
LOAD
|
|
LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]
|
同hive
|
3.2 Insert
操作
|
Oracle
|
Hive
|
Impala
|
INSERT
|
INSERT [ hint ]
{ single_table_insert | multi_table_insert } ;
single_table_insert ::=
insert_into_clause
{ values_clause [ returning_clause ] | subquery
} [ error_logging_clause ]
multi_table_insert ::=
{ ALL
{ insert_into_clause [ values_clause ] [error_logging_clause] }...
| conditional_insert_clause
} subquery
Oracle单表的values和subquery插入和其他两种差不多,多表插入是其他两种没有的
|
INSERT OVERWRITE TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 ...) [IF NOT EXISTS]] select_statement1 FROM from_statement;
INSERT INTO TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 ...)] select_statement1 FROM from_statement;
INSERT INTO TABLE tablename [PARTITION (partcol1[=val1], partcol2[=val2] ...)] VALUES values_row [, values_row ...]
hive的INSERT VALUES从0.14.0开始才有
|
[with_clause]
INSERT { INTO | OVERWRITE } [TABLE] table_name
[(column_list)]
[ PARTITION (partition_clause)]
{
[hint_clause] select_statement
| VALUES (value [, value ...]) [, (value [, value ...]) ...]
}
基本和hive一致,除了头部可以带with子句
|
3.3 Update
功能
|
Oracle
|
Hive
|
Impala
|
UPDATE
|
UPDATE [ hint ]
{ dml_table_expression_clause
| ONLY (dml_table_expression_clause)
} [ t_alias ]
update_set_clause
[ where_clause ]
[ returning_clause ]
[error_logging_clause] ;
建议参考官方手册
|