Hive删除符合条件的记录

Hive在使用中不支持updatedelete操作,那么如果想删除部分条件的记录需要怎么操作?本文记录下解决方法。
思路:使用select+where选出想要保留的数据,使用insert overwrite向原表覆盖插入数据.

insert overwrite table dbname.tableName
select * from dbname.tableName 
where <condition>

-- 实例:Hive表删除'2023-11-23'更新的数据
insert overwrite table dbname.tableName
select * from dbname.tableName 
where up_date<>'2023-11-23'

-- 分区表下操作
insert overwrite table dbname.tableName partition (pmf='2023-11')
select * from dbname.tableName 
where pmf='2023-11'
and up_date<>'2023-11-23'

你可能感兴趣的:(work_efficiency,hive,hadoop,数据仓库)