hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From lars hofhansl <la...@apache.org>
Subject Re: Re: Any fast way to random access hbase data?
Date Wed, 13 Aug 2014 22:50:59 GMT
> <name>hfile.block.cache.size</name>
> <value>0.0</value>

Yikes. Don't do that. :)
Even if your blocks are in the OS cache, upon each single Get HBase needs to re-allocate a
new 64k block on the heap (including the index blocks).

If you see no chance that a working set of the data fits into the aggregate block cache across
the region serves and your reads are truly random then you can try to reduce BLOCKSIZE =>
'65536', maybe to 8192 or even less (but that has other downsides).

Also disable Nagle's (i.e. enable tcpnodelay at both the HBase and HDFS layers).

 From: "leiwangouc@gmail.com" <leiwangouc@gmail.com>
To: user <user@hbase.apache.org> 
Sent: Wednesday, August 13, 2014 2:23 AM
Subject: Re: Re: Any fast way to random access hbase data?

Haven't tried yet
only one thread
10 regions servers, total 2555 regions.
I am just new to HBase and not sure what exactly the block cache mean, here's the configuration
i can see from the CDH HBase master UI:


Table description:
{NAME => 'userdigest', coprocessor$3 => 'hdfs://agrant/user/tracking/userdigest/copro
1001|', coprocessor$2 => '|org.apache.hadoop.hbase.coprocessor.AggregateImplementatio 
'0', TTL => '2147483647', KEEP_DELETED_CELLS => 'false', BLOCKSIZE => '65536', IN_ME

MORY => 'false', ENCODE_ON_DISK => 'true', BLOCKCACHE => 'true'}]}      


From: Esteban Gutierrez
Date: 2014-08-13 15:59
To: user@hbase.apache.org
Subject: Re: Any fast way to random access hbase data?
Hello Lei,

Have you tried a larger batch size? how many threads or tasks are you using
to fetch data? could you please describe a little bit more your HBase
cluster? e.g. how many region servers, how many regions per RS? whats the
hit ratio of the block cache? any chance for you to share the table schema?


Cloudera, Inc.

On Wed, Aug 13, 2014 at 12:34 AM, leiwangouc@gmail.com <leiwangouc@gmail.com
> wrote:

> I have a hbase table with more than 2G rows.
> Every hour there comes 5M~10M row ids and i must get all the row info from
> the hbase table.
> But even I use the batch call(1000 row ids as a list) as described here
> http://stackoverflow.com/questions/13310434/hbase-api-get-data-rows-information-by-list-of-row-ids
> It takes about 1 hour.
> Any other way to do this more quickly?
> Thanks,
> Lei
> leiwangouc@gmail.com
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message