2013-11-15 5 views
4

У нас есть 2 кластера cassandra, первый из которых имеет старые данные, а второй - новые данные.Перенос данных из cassandra в cassandra

Теперь мы хотим переместить или скопировать старые данные из первого кластера во второй. Каков наилучший способ сделать это и как это сделать?

Мы используем DSE 3.1.4.

+1

ли эти кластеры имеют одинаковое пространство ключи настроены? Что такое репликация? Вы хотите, чтобы все данные были реплицированы между двумя кластерами или только для того, чтобы находиться во втором кластере? – RussS

+0

Имя keyapce должно быть изменено, и в первом кластере есть один первичный ключ, а второй кластер, который нам нужен для копирования данных, имеет составной первичный ключ. – Ram

ответ

3

Один инструмент, который вы могли бы попробовать, - это команда COPY TO/FROM cqlsh.

На узле в старом кластере, вы должны использовать COPY FROM:

cqlsh> COPY myTable (col1, col2, col3, col4) TO 'temp.csv' 

А затем (после копирования файла через) на узле в новом кластере, вы бы скопировать данные в CSV файл в Кассандре:

cqlsh> COPY myTable (col1, col2, col3, col4) FROM 'temp.csv' 

Вот еще некоторые документы по команде COPY.

Обратите внимание, что COPY TO/FROM рекомендуется для таблиц, содержащих только несколько миллионов строк или меньше. Для больших наборов данных, вы должны смотреть на:

+0

Извините, что забыл упомянуть ранее, у меня есть другая схема (добавлен составной первичный ключ) в новом кластере. Будет ли это работать? – Ram

+0

У меня было 350 ГБ данных, которые будут быстрее? – Ram

+0

Если схема отличается, вы можете указать, как вы хотите сопоставить каждый столбец; так что все в порядке. Является ли 350 ГБ всей одной таблицей? Если это так, можно попробовать использовать COPY, но я думаю, что Bulk Loader может быть вашим лучшим выбором. – Aaron

2

Существует инструмент, называемый/usr/bin/sstableloader для копирования данных между кластерами. Хотя, когда я использовал его несколько месяцев назад, я столкнулся с ошибкой и вместо этого использовал this. Но, поскольку это было давно, sstableloader, возможно, уже исправлен.

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

  • Нет связанных вопросов^_^