【Hive】insert into 与 insert overwrite的区别

目录

一、无分区表情况

1、创建表

2、insert into插入数据

3、继续insert overwrite插入数据

二、分区表情况

1、创建表

2、insert into插入数据

3、继续insert overwrite插入数据

三、insert into和insert overwrite区别


一、无分区表情况

1、创建表

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

2、insert into插入数据

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

3、继续insert overwrite插入数据

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

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

二、分区表情况

1、创建表

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

2、insert into插入数据

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

3、继续insert overwrite插入数据

insert overwrite table stu01 values ("Lucy",22);
hive> select * from stu01;
OK
Lucy	22
Lina	23
Time taken: 0.079 seconds, Fetched: 2 row(s)
hive> show partitions stu01;
OK
age=22
age=23
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 操作只会重写当前分区的数据,不会重写其他分区数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郝少

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值