簡體   English   中英

如何取消設置HBase列系列的TTL

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM