1
votes

What is in a HBase block index entry?

My guess is that it's one of these:

  1. all key components: rowkey + column family + column qualifier + timestamp
  2. all key components except for column family (since the index is in a HFile that is a part of the storage for a column family): rowkey + column qualifier + timestamp
  3. rowkey only

I've tried to find the information, But the articles only say that it contains a 'key'. For me as a newbie, it is confusing since in a KeyValue the all key components comprise the 'key', while a rowkey is also a 'key'.

1

1 Answers

0
votes

Block index holds the information of start and end key of this block. So if you want to get a row key, and this row key is between a blocks start-end then this block is opened and readed by hbase to check it is really in this block or not.

About the row key issue: in hbase row key is key+columnfamily+columnqualifier+timestamp. KeyValue class's getKey method returns the key in rowkey.