最近想着测试一下HBase存储上的时间老化问题。
Hbase本身还是提供这种功能的,总体上还是非常不错的。
首先建立一个测试表。create 'ttt','f'
hbase(main):015:0> disable 'ttt' 0 row(s) in 4.5000 seconds 然后修改老化时间为30秒。 hbase(main):016:0> alter 'ttt',{NAME=>'f',TTL=>'30'} Updating all regions with the new schema... 1/1 regions updated. Done. 0 row(s) in 2.5090 seconds hbase(main):017:0> enable 'ttt' 0 row(s) in 2.3490 seconds hbase(main):018:0> scan 'ttt' ROW COLUMN+CELL 0 row(s) in 0.0360 seconds hbase(main):019:0> put 'ttt','12','f:a','00' 0 row(s) in 0.0110 seconds hbase(main):020:0> scan 'ttt' ROW COLUMN+CELL 12 column=f:a, timestamp=1473732316410, value=00 1 row(s) in 0.0210 seconds hbase(main):021:0> scan 'ttt' ROW COLUMN+CELL 12 column=f:a, timestamp=1473732316410, value=00 1 row(s) in 0.0110 seconds hbase(main):022:0> scan 'ttt' ROW COLUMN+CELL 12 column=f:a, timestamp=1473732316410, value=00 1 row(s) in 0.0120 seconds hbase(main):023:0> scan 'ttt' ROW COLUMN+CELL 12 column=f:a, timestamp=1473732316410, value=00 1 row(s) in 0.0120 seconds 过一会再查,果然数据不见了,说明老化已经起作用了。 hbase(main):024:0> scan 'ttt' ROW COLUMN+CELL 0 row(s) in 0.0100 seconds hbase(main):025:0>