hive数据表中,数据的删除不可以想Oracle、MySQL那样使用delete语句删除,所以在删除数据的时候使用另外的方法
hive的数据删除,一般是两种方式
1,删除具体partition
altertable table_name droppartition(partiton_name='value')
eg:altertable test_data droppartition(dt='2022-06-25')
2,删除数据表某一条数据
当需要删除某一条数据的时候,我们需要使用 insert overwrite
insert overwrite table table_name select*from table_name where 条件
释义:就是用满足条件的数据去覆盖原表的数据,这样只要在where条件里面过滤需要删除的数据就可以了
3,insert overwrite 删除数据的应用
(1)建表
createtable test.test_data(
id varchar(20),name varchar(20),sex varchar(8),age varchar(8),insert_date varchar(20));
(2)数据插入
insertinto 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;
版权归原作者 晓之以理的喵~~ 所有, 如有侵权,请联系我们删除。