Что находится в записи индекса блока HBase?
Что находится в записи индекса блока HBase?
Я думаю, что это один из них:
- все ключевые компоненты: ключ строки + семейство столбцов + квалификатор столбца + метка времени
- все ключевые компоненты, кроме семейства столбцов (поскольку индекс находится в HFile, который является частью хранилища для семейства столбцов): rowkey + квалификатор столбца + метка времени
- только гребной ключ
Я пытался найти информацию, но в статьях говорится только, что она содержит "ключ". Для меня, как для новичка, это сбивает с толку, поскольку в KeyValue все ключевые компоненты составляют "ключ", в то время как ключ строки также является "ключом".
1 ответ
Блочный индекс содержит информацию о начале и конце ключа этого блока. Так что, если вы хотите получить ключ строки, и этот ключ строки находится между началом конца блока, тогда этот блок открывается и читается hbase, чтобы проверить, действительно ли он находится в этом блоке или нет.
О проблеме ключа строки: в hbase ключом строки является key+columnfamily+columnqualifier+timestamp. Метод getKey класса KeyValue возвращает ключ в rowkey.