Существует ли эффективный способ создания копии структуры таблицы + данных в HBase в том же кластере? Очевидно, что таблица назначения будет иметь другое имя. Что я нашел до сих пор:
Задание CopyTable, которое было описано как инструмент для копирования данных между различными кластерами HBase. Я думаю, что он будет поддерживать работу внутри кластера, но не знаю, была ли она разработана для эффективной обработки этого сценария.
Используйте экспорт + импорт заданий. Это звучит как хак, но так как я новичок в HBase, может быть, это реальное решение?
Некоторые из вас могут спросить, почему я пытаюсь это сделать. Мой сценарий состоит в том, что у меня есть миллионы объектов, к которым мне нужен доступ, в состоянии «моментального снимка», если хотите. Существует ежедневный пакетный процесс, который обновляет многие из этих объектов. Если какой-либо шаг в этом пакетном процессе завершается неудачей, мне нужно иметь возможность «откатиться» до исходного состояния. Мало того, что во время пакетного процесса мне нужно иметь возможность обслуживать запросы в исходное состояние.
Таким образом, текущий процесс заключается в том, что я дублирую исходную таблицу в рабочую копию, продолжаю обслуживать запросы с использованием исходной таблицы, пока обновляю рабочую копию. Если пакетный процесс завершается успешно, я уведомляю все мои службы об использовании новой таблицы, в противном случае я просто отбрасываю новую таблицу.
Это хорошо сработало с использованием BDB, но сейчас я нахожусь в совершенно новом мире действительно больших данных, поэтому, возможно, я выбрал неправильный подход. Если у кого-то есть какие-либо предложения шаблонов, которые я должен использовать вместо этого, они более чем приветствуются. : -)