У меня есть одна таблица hbase с именем Table1, имеет строки T1, T2, T3,... Tn , новая таблица с именем Table2. Как я могу скопировать все данные в (T1,T3,T5...) из Table1 в Table2? Один за другим, чтобы получить строку, а затем поставить на новую таблицу так медленно.
Как быстро все данные не смежных столбцов в hbase копируются в другую новую таблицу?
Ответы (1)
CopyTable
— это одна из утилит, которая запускает mapreduce для копирования 2 таблиц, и это намного быстрее. Однако он не поддерживает выборочное копирование (нечетные строки в вашем случае. Он поддерживает только временной диапазон для частей таблицы hbase. Таким образом, один из вариантов может состоять в том, чтобы сначала запустить CopyTable
, чтобы скопировать все данные, а затем удалить по одному. Другой вариант можно было бы использовать Hive
, если вы не хотите иметь дело с таблицами Hbase и вам удобнее использовать SQL
.
Пример CopyTable - hbase org.apache.hadoop.hbase.mapreduce.CopyTable --new.name=sample_new sample_old
Здесь sample_old — копируемая таблица, а sample_new — новая таблица. .
person
Chandra kant
schedule
15.03.2014
Поскольку старая таблица такая большая, я не могу скопировать всю таблицу в новую.
- person lanyun; 17.03.2014