[英]How to unset TTL of a HBase column family
說我有這些HBase表,在HBase Webui中描述為:
test_foo {NAME => 'test_foo', FAMILIES => [{NAME => 'fam'}]}
test_bar {NAME => 'test_bar', FAMILIES => [{NAME => 'fam', TTL => '1000'}]}
如何取消test_bar
表上的TTL?
原來,webui不顯示默認值。
如果我使用hbase shell,我會看到(為清晰起見,按摩了一下輸出):
hbase(main)> describe 'test_foo'
{NAME => 'test_foo', FAMILIES => [{NAME => 'fam',
BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '3',
COMPRESSION => 'NONE', MIN_VERSIONS => '0',
TTL => '2147483647',
BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}]}
hbase(main)> describe 'test_bar'
{NAME => 'test_bar', FAMILIES => [{NAME => 'fam',
BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '3',
COMPRESSION => 'NONE', MIN_VERSIONS => '0',
TTL => '1000',
BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}]}
因此, test_foo
表上還有一個TTL,也為2147483647秒(32位有符號int的最大值,大約相當於68年),可能是HBase的默認TTL。
我將test_bar
表上的TTL設置為此maxint,例如:
alter 'test_bar', {NAME => 'fam', TTL => '2147483647'}
結果:TTL屬性不再顯示在webui中。 #pieceofmind
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.