美文网首页
Hive删除表中数据

Hive删除表中数据

作者: bigdata张凯翔 | 来源:发表于2020-06-18 01:11 被阅读0次

    问题描述:
    当我们想要删除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

    相关文章

      网友评论

          本文标题:Hive删除表中数据

          本文链接:https://www.haomeiwen.com/subject/lzcyxktx.html