HBase: Как удалить регион - PullRequest
2 голосов
/ 20 июня 2011

Из-за юридических проблем мне нужно удалить старые данные из HBase.

Я нашел способ разделить регион, используя мои критерии и перенеся старые данные в новый регион, но есть ли способудалить этот регион?

есть еще идеи как достичь цели?

Ответы [ 3 ]

4 голосов
/ 11 января 2012

Попробуйте

delete '.META.', 'ROW_FROM_META_WITH_YOUR_TABLE'

Если вы не уверены, какую строку вы хотите удалить, запустите сканирование в «.META».или сбросьте его значение в файл:

echo "scan '.META.'"| hbase shell &> dump.txt

, затем найдите свою строку и удалите ее.

Так как это оставит ваши регионы с "дырой", убедитесь, что вы запустили hbase hbck PlatformData -repairчтобы исправить это.

Вот небольшой фрагмент кода java , который делает именно это и удаляет файлы из базовой HDFS.

2 голосов
/ 20 февраля 2015

В более новых версиях, таких как 0.96, команда:

deleteall 'hbase:meta', 'YOUR_ROW'
0 голосов
/ 21 марта 2014

Hbase rowkeys можно удалить, удалив все семейства столбцов, представленные для таблицы.Если в hbase нет данных о ключе строки, ключ удаляется из hbase.Это можно сделать с помощью команды Alter в оболочке Hbase.

Хотя эти ключи строк не отображаются в таблице, области для удаленных ключей строк присутствуют в .META.без данных.

...