Weiwei, in addition to what Andy said you have control over what is used
in the block cache in your queries.  See <Get>.setCacheBlocks and
<Scan>.setCacheBlocks.  These are true by default.



Thanks Andy for the explanation, the Hbase book doesn¹t explain this
enough.  I'll submit a patch.






On 7/8/11 9:40 PM, "Andrew Purtell" <[email protected]> wrote:

>IN_MEMORY means that HBase will try really hard to keep all of the data
>blocks for a table in the block cache. Block cache is expired on a LRU
>basis in three priority bands. Blocks for IN_MEMORY tables have the
>highest priority. They will be the last to be evicted.
>
>It does not mean data is never written to disk -- all data in HBase is
>backed by files in HDFS.
>
>It does not mean the table data won't be evicted if the table becomes
>very large and it cannot all fit in the available configured block cache.
>
>Best regards,
>
>
>   - Andy
>
>Problems worthy of attack prove their worth by hitting back. - Piet Hein
>(via Tom White)
>
>
>----- Original Message -----
>> From: Weiwei Xiong <[email protected]>
>> To: [email protected]
>> Cc: 
>> Sent: Friday, July 8, 2011 6:04 PM
>> Subject: IN_MEMORY setting
>> 
>> Hi all,
>> 
>> Is there anyway to always keep a table in memory? Will IN_MEMORY setting
>> server this purpose?
>> 
>> Thanks,
>> ww
>>

Reply via email to