当前位置:   article > 正文

【Hive】insert into 与 insert overwrite的区别_hive insert into overwrite

hive insert into overwrite

目录

一、无分区表情况

1、创建表

2、insert into插入数据

3、继续insert overwrite插入数据

二、分区表情况

1、创建表

2、insert into插入数据

3、继续insert overwrite插入数据

三、insert into和insert overwrite区别


一、无分区表情况

1、创建表

  1. create table stu(name string,age int)
  2. row format delimited fields terminated by ',';

2、insert into插入数据

  1. insert into table stu(name,age) values ("Lucy",22);
  2. insert into table stu(name,age) values ("Lucy",22);
  3. insert into table stu(name,age) values ("Lina",23);
  1. Total MapReduce CPU Time Spent: 5 seconds 120 msec
  2. hive> select * from stu;
  3. OK
  4. Lucy 22
  5. Lucy 22
  6. Lina 23
  7. Time taken: 1.134 seconds, Fetched: 3 row(s)

3、继续insert overwrite插入数据

insert overwrite table stu values("Lucy",22);
  1. hive> select * from stu;
  2. OK
  3. Lucy 22
  4. Time taken: 0.074 seconds, Fetched: 1 row(s)

insert overwrite 经常 insert overwrite table stu select * from ....使用;

二、分区表情况

1、创建表

  1. create table stu01(name string)
  2. partitioned by(age int)
  3. row format delimited fields terminated by ',';

2、insert into插入数据

  1. insert into table stu01(name,age) values ("Lucy",22);
  2. insert into table stu01(name,age) values ("Lucy",22);
  3. insert into table stu01(name,age) values ("Lina",23);
  1. hive> select * from stu01;
  2. OK
  3. Lucy 22
  4. Lucy 22
  5. Lina 23
  6. Time taken: 0.088 seconds, Fetched: 3 row(s)

3、继续insert overwrite插入数据

insert overwrite table stu01 values ("Lucy",22);
  1. hive> select * from stu01;
  2. OK
  3. Lucy 22
  4. Lina 23
  5. Time taken: 0.079 seconds, Fetched: 2 row(s)
  1. hive> show partitions stu01;
  2. OK
  3. age=22
  4. age=23
  5. Time taken: 0.045 seconds, Fetched: 2 row(s)

三、insert into和insert overwrite区别

        insert overwrite table 后面的表不能指明要插入的字段名,否则报错。insert into table可以。stu(name,age),紫色部分;

        两者都可以向 hive 表中插入数据,但 insert into 操作是以追加的方式向 hive 表尾部追加数据,而 insert overwrite 操作则是直接重写数据,即先删除 hive 表的数据,再执行写入操作。注意,如果 hive 表是分区表的话,insert overwrite 操作只会重写当前分区的数据,不会重写其他分区数据。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/397230
推荐阅读
相关标签
  

闽ICP备14008679号