2016-03-16 2 views

ответ

0

API-интерфейс HBase Client быстрее, потому что вы выполняете операции непосредственно с базой данных при использовании MapReduce, что означает, что задачи будут выполняться над заданиями, и это займет время в соответствии с моим опытом. Более того, этот HBase позволит вам выполнять определенные операции в семействах столбцов, которые MapReduce не может выполнить.

1

API-интерфейс клиента HBase не позволяет выполнять массовые удаления, если вы не знаете ключей строк для ячеек, которые вы хотите удалить.

Функция BulkDeleteEndpoint может быть использована для выполнения массовых удалений на основе результатов сканирования.

+0

Можете ли вы направить меня к учебнику или веб-сайту, который поможет мне узнать о «BulkDeleteEndpoint» .. Потому что я действительно очень новичок в hadoop и hbase. Спасибо. –

+0

. Вы можете проверить [HBase doc] (https: //hbase.apache.org/devapidocs/org/apache/hadoop/hbase/coprocessor/example/BulkDeleteEndpoint.html) – herberts

1

Самый быстрый и эффективный способ для больших смежных наборов данных - удалить целые области, удалив их HDFS-каталоги и удалив их из таблицы META. Это практически не требует ввода-вывода, поэтому он почти свободен. Обратите внимание, что это еще не доступно напрямую через API высокого уровня, поэтому вам нужно выполнить скрипт/код для его выполнения.

Вот пример из списков рассылки HBase о том, как вы могли это сделать, используя оболочку.

  1. Закрыть область от оболочки (прочитать о том, как это работает, используя Shell помощь - не делают отменить назначение)
  2. Затем просто удалите содержимое региона в HDFS раз регион закрыто (имя региона в HDFS совпадает с регистровым именем, - последняя часть имени региона - check refguide).
  3. После удаления в HDFS вызовите область назначения.

Источник http://search-hadoop.com/m/YGbbl9ZaSQ2HLT&subj=Re+Delete+a+region+from+hbase

+0

Спасибо .. Я постараюсь сделать это. –

Смежные вопросы