Как HBase удаляет строки? - PullRequest
       11

Как HBase удаляет строки?

3 голосов
/ 21 июня 2011

Я прочитал в HBase Book , что теперь можно удалять строки из таблицы.
Как это работает?Эти данные перемещены куда-то для последующего удаления?

HBase ограничен ограничением HDFS при редактировании однажды записанных файлов, поэтому мне интересно, как это работает.Если кто-то знает что-то еще об этом, пожалуйста, поделитесь своими знаниями.

Спасибо.

1 Ответ

6 голосов
/ 21 июня 2011

Я нашел некоторую полезную информацию в http://hbase.apache.org/book.html#d705e2948

Извлечение из этого раздела

Удаляет работу, создавая надгробные маркеры.Например, предположим, что мы хотим удалить строку.Для этого вы можете указать версию, иначе по умолчанию используется currentTimeMillis.Это означает «удалить все ячейки, где версия меньше или равна этой версии».HBase никогда не изменяет данные на месте, поэтому, например, удаление не будет немедленно удалять (или помечать как удаленные) записи в файле хранилища, которые соответствуют условию удаления.Скорее, написано так называемое надгробие, которое будет маскировать удаленные значения.Если версия, указанная вами при удалении строки, больше, чем версия какого-либо значения в строке, то вы можете считать всю строку удаляемой.

Строка помечена как удаленная ине включены в извлеченные данные, но данные все еще там.Когда происходит сжатие, удаленные данные удаляются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...