Hive删除表中数据

2020-06-18  本文已影响0人  bigdata张凯翔

问题描述:
当我们想要删除Hive表中部分符合条件的数据时:
发现Hive表删除数据不能使用DELETE FROM table_name 中SQL语句

image.png

解决方案

1.删除符合条件的数据:

其中xxx是你需要保留的数据的查询条件。
insert overwrite table t_table1 select * from t_table1 where XXXX;

举例:
insert overwrite table tlog_bigtable  PARTITION (dt='2017-12-20',game_id = 'id')
select * from tlog_bigtable t
where t.dt = '2017-12-20'
and t.event_time < '2017-12-20 20:00:00'
and t.game_id = 'id'
2.删除整个表:

drop table 表名;
如果要永久性删除,不准备再恢复:
drop table 表名 purge;

推荐博客:让Hive支持行级insert、update、delete
参考博客:
https://cwiki.apache.org/confluence/display/Hive/Hive+Transactions
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML#LanguageManualDML-Delete
http://unmeshasreeveni.blogspot.in/2014/11/updatedeleteinsert-in-hive-0140.html
https://www.mapr.com/blog/hive-transaction-feature-hive-10

上一篇下一篇

猜你喜欢

热点阅读