hive数据表中,数据的删除不可以想Oracle、MySQL那样使用delete语句删除,所以在删除数据的时候使用另外的方法
hive的数据删除,一般是两种方式

1,删除具体partition

alter table table_name drop partition (partiton_name='value')
eg:alter table   test_data   drop partition (dt='2022-06-25')

2,删除数据表某一条数据

当需要删除某一条数据的时候,我们需要使用 insert overwrite

insert overwrite table table_name select * from table_name where 条件

释义:就是用满足条件的数据去覆盖原表的数据,这样只要在where条件里面过滤需要删除的数据就可以了

3,insert overwrite 删除数据的应用

(1)建表

create table test.test_data(
 id             varchar(20)
,name           varchar(20)
,sex            varchar(8)
,age            varchar(8)
,insert_date    varchar(20)
)
;

(2)数据插入

insert into test.test_data values
('1','tom','0','18','2022-06-25'),
('2','jack','0','20','2022-06-25'),
('3','rose','1','25','2022-06-25'),
('4','judy','1','16','2022-06-26'),
('5','mark','0','30','2022-06-26'),
('6','xiaohong','1','8','2022-06-26')

(3)数据查看

SELECT * FROM test.test_data;

数据查看

(4)数据需求

删除 2022-06-26插入的数据

(5)删除数据

INSERT overwrite TABLE test.test_data 
SELECT * FROM test.test_data WHERE insert_date <>'2022-06-26'

(6)查看删除后的数据结果

SELECT * FROM test.test_data;

删除后数据

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐