Inline. In general I'd recommend you read the documentation more
closely and/or get the book.

J-D

On Thu, Aug 23, 2012 at 4:21 PM, Pamecha, Abhishek <[email protected]> wrote:
> 1.       Can there be multiple row keys per block and then per  HFile? Or is 
> a block or Hfile dedicated to a single row key?

Multiple row keys per HFile block. Read
http://hbase.apache.org/book.html#hfilev2

> I have a scenario, where for the same column family, some rowkeys will have 
> very wide rows, say rowkey W, and some rowkeys will have very narrow rows, 
> say rowkey N. In my case,  puts for rowkeys W and N are interleaved with a 
> ratio of say 90 rowkeyW puts vs 10 rowkeyN puts. On the get side, my app 
> works on getting data for a single  rowkey at a time.
> Will that mean for a rowkeyN, the entries will be scattered across regions on 
> that same region server, given there are interleaved puts? Or Is there a way 
> I can enforce contiguous  writes to a region/Hfile reserved for rowkey N.  
> This way, I can leverage the block cache and have the entire/most of  rowkeyN 
> fit in there for that session.

The row keys are sorted according to their lexicographical order. See
http://hbase.apache.org/book.html#row

If you don't want the big rows coexisting with the small rows, put
them in different column families or different tables.

> 2.       Is there a limit on number of HFiles that can exist per region?

I think your understanding of HFiles being a bit wrong prompted you to
ask this, my previous answers probably make it so that you don't need
this answer anymore, but there it is just in case:

The HFiles are compacted when reaching
hbase.hstore.compactionThreshold (default of 3) per family, and you
can have no more than hbase.hstore.blockingStoreFiles (default of 7).

" Basically, on what criteria does a rowkey data gets split in two
regions [on the same region server]. I am assuming there can be many
regions per region server. And multiple regions for the same table can
belong in the same region server.

A row key only lives in a single region since the regions are split
based on row keys.

> 3.       Also, is there a limit on the number of blocks that are created per 
> HFile?

No.

> What determines whether a split is required?

hbase.hregion.max.filesize, also see
http://hbase.apache.org/book.html#disable.splitting if you want to
change that.

Reply via email to