HBase实现记录定期定量删除

文中可能涉及到的API:

Hadoop/HDFS:http://hadoop.apache.org/common/docs/current/api/

HBase: http://hbase.apache.org/apidocs/index.html?overview-summary.html

HBase如何实现定期定量删除记录

使用场景分析:我们在HBase中存储的记录可能有一些是增速很快且又不需要永久保存的,比如大量的“系统日志”,也许只需保存最近几个月记录便可。我们的存储空间又很有限,尤其是HDFS这种多副本容灾存储。再加上HBase在存储每一行数据时,分别要为每一列保存一份rowKey,如果一行有10列,光rowKey就要存储10份,开销可想而知。因此定期定量删除的功能也就成了普遍的需求。

一、如何定期删除数据?

使用表格级的属性:TTL(Time To Live),设置记录的有效期,当前时间超过记录有效期后该记录将被自动删除记录的有效期 = TimeStamp + TTL;

二、如何在数据超过阈值时删除数据?

比如我们限定某张表最多占用约1T的空间,当数据超过1T时就删除表中最老的一部分数据。

1、在HDFS层面,获取表格占用空间。

通过Configuration实例创建FileSystem实例,调用Fs的Path获取表格目录的ContentSummary实例,再调用

通过hbase api中scan的setTimeRange方法完成待删除的数据筛选,然后删之~

文献:http://www.verydemo.com/demo_c101_i46734.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值