sql:insert into tableとinsert overwrite tableの違い
2569 ワード
テスト結果をテストするテストテーブルを作成します.
ステップ1:insert intoを使用してテーブルにデータを挿入します.
ステップ2:上記の挿入レコードをクリーンアップせずにinsert overwirteを直接実行し、分析結果をクエリーします.
ステップ3:前のステップで実行した結果をクリーンアップしないで、次のsql文を実行し、結果をクエリーします.
create table test(name string,pwd string,createdate string)row format delimited fields terminated by ',';
ステップ1:insert intoを使用してテーブルにデータを挿入します.
insert into test(name,pwd,createdate)values('name1','pwd1','2017-06-20 14:14:09');
insert into test(name,pwd,createdate)values('name1','pwd1','2017-06-20 14:14:09');
insert into test(name,pwd,createdate)values('name2','pwd2','2017-06-20 14:14:09');
insert into test(name,pwd,createdate)values('name2','pwd2','2017-06-20 14:14:09');
0: jdbc:hive2://10.78.152.52:21066/> select * from test;
+------------+-----------+----------------------+--+
| test.name | test.pwd | test.createdate |
+------------+-----------+----------------------+--+
| name1 | pwd1 | 2017-06-20 14:14:09 |
| name1 | pwd1 | 2017-06-20 14:14:09 |
| name2 | pwd2 | 2017-06-20 14:14:09 |
| name2 | pwd2 | 2017-06-20 14:14:09 |
+------------+-----------+----------------------+--
ステップ2:上記の挿入レコードをクリーンアップせずにinsert overwirteを直接実行し、分析結果をクエリーします.
insert overwrite table test select 'name1' as name,'pwd1' as pwd,'2017-06-20 14:14:09' as createdate;
insert overwrite table test select 'name2' as name,'pwd2' as pwd,'2017-06-20 14:14:09' as createdate;
insert overwrite table test select 'name2' as name,'pwd2' as pwd,'2017-06-20 14:14:09' as createdate;
insert overwrite table test select 'name3' as name,'pwd3' as pwd,'2017-06-20 14:14:09' as createdate;
0: jdbc:hive2://10.78.152.62:21066/> select * from test;
+------------+-----------+----------------------+--+
| test.name | test.pwd | test.createdate |
+------------+-----------+----------------------+--+
| name3 | pwd3 | 2017-06-20 14:14:09 |
+------------+-----------+----------------------+--+
ステップ3:前のステップで実行した結果をクリーンアップしないで、次のsql文を実行し、結果をクエリーします.
insert overwrite table test select 'name2' as name,'pwd2' as pwd,'2017-06-20 14:14:09' as createdate;
0: jdbc:hive2://10.78.152.62:21066/> select * from test;
+------------+-----------+----------------------+--+
| test.name | test.pwd | test.createdate |
+------------+-----------+----------------------+--+
| name2 | pwd2 | 2017-06-20 14:14:09 |
+------------+-----------+----------------------+--+