微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

HBase删除数据的真正时间

1.Flash时也会删除数据put进两条数据,scan只显示一个时间戳大的,显示多版本才会出现两个这时flash表一下,显示多版本也只会显示一个时间戳大的。再put一条数据,刷写一下,显示多版本的时候会包括之前的那个Flash刷写时把同一个内存中的删除,刷写时只管内存空间,也就是刷写成功的写入磁盘的是不会删除的。
2.合并时会删除数据这时会把之前的旧版本都删除掉Major Compaction 会将一个 Store 下的所有的 HFile 合并成一个大 HFile,并且会清理掉过期和删除的数据。总结:在Flash或者Major Compaction时会删除数据,Flash删除的时同一个内存的旧数据,不能删除跨越的多文件,Flash待删除的数据只能在同一个内存中。Major Compaction,将多个文件合并,在内存中都做过比较了。再put一条数据,把他删除掉,然后flash,显示多版本不会出现这个数据内容(在同一个内存flash会把他删除),但是会有这条数据的状态 type=deletecolumn。在合并的时候会删除掉这个状态。再合并时删除不在flash里删除是因为flash删除的只是在内存的数据。

例子:put 1 flash生成文件put 2 flash生成文件put 3 在内存时把他删掉,flash生成文件,这里只要delete状态,如果这个时候删除掉delete状态flash新文件就会把put2的内容刷下来。所以在合并时在删除。其他数据会和删除标记就是那个状态比较不然会出现刷写到之前的文件数据。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐