Hbase高级-数据真正删除

古城微笑少年丶 2022-12-09 04:51 276阅读 0赞
  • 创建表

    create ‘stu9’,’info’

  • 插入数据

    put ‘stu9’,’1001’,’info:name’,’haiwang’
    put ‘stu9’,’1001’,’info:name’,’wuwukai’
    put ‘stu9’,’1001’,’info:name’,’white’

  • 刷写

    flush ‘stu9’

结果(刷写,rowkey相同,显示最新时间戳)
在这里插入图片描述

  • 插入数据+刷写

    put ‘stu9’,’1002’,’info:name’,’labi’
    flush ‘stu9’

  • 插入数据+删除数据

    put ‘stu9’,’1003’,’info:name’,’xiaoxin’
    delete ‘stu9’,’1003’,’info:name’

结果:没有真正删除1003的xiaoxin
在这里插入图片描述

  • 刷写

    flush ‘stu9’

结果:删除了旧的时间戳,保留最新时间戳
在这里插入图片描述
刷写一次,会生成一个文件
在这里插入图片描述

  • 合并(Major Compaction会清理掉过期和删除的数据)
    当三个文件可以进行一次compact合并

    compact ‘stu9’

成功删除!
在这里插入图片描述

总结

想要数据真正删除,用delete删除,然后flush刷写到storefile,然后使用compact(Major Compaction)

发表评论

表情:
评论列表 (有 0 条评论,276人围观)

还没有评论,来说两句吧...

相关阅读

    相关 HBase删除数据

    HBase不会定位到需要删除或更新的记录进行操作。由于HBase底层依赖HDFS,对于HBase删除操作来说,HBase无法在查询到之前的数据并进行修改,只能顺序读写,追加记录

    相关 HBase 删除数据过程分析

    HBase的删除过程分为单行删除、多行删除和原子性操作 1.单行删除 不会立即删除,而是先在指定存储单元上标记删除,等到下一次region合并或者分裂的时候才会移除数据