2016-04-12 5 views
0

datastax-предприятие

datastax-запуск

Мы используем DataStax DSE кластер.Каков наилучший способ для копирования большой таблицы (> 1.ой строки) в другую таблицу

Мы пытаемся перенести таблицу в другую таблицу с таким же определением, что и 1-й таблица, но со средним индексом

Она имеет около 1,7 млн ​​строк

1) Сначала пользователя Cassandra COPY команды cqlsh , Это занимает много времени> 1 час. Таймаут, не работает 2) Затем мы пишем программу для экспорта 1-й таблицы в файл CSV. Мы разбиваем этот CSV-файл на отдельные CSV-файлы и пытаемся загрузить его со второй таблицы.

Вкладыш занимает некоторое время, и он не

3) Мы смотрим в http://www.datastax.com/dev/blog/using-the-cassandra-bulk-loader-updated

Поскольку у нас есть CSV-файл, это правильный подход?

И мы используем этот lib https://github.com/yukim/cassandra-bulkload-example для генерации SSTABLE.

Это правильный способ справиться с этим?

+0

попробуйте или посмотрите на https://github.com/brianmhess/cassandra-loader? –

ответ

1

Если у вас есть CSV-файл, я бы рекомендовал использовать этот навальный погрузчик:

https://github.com/brianmhess/cassandra-loader

Если искровые аналитики включена в кластере:

sc.cassandraTable ("ks1", "стол ") .saveToCassandra (" KS2" , "стол")

Смотрите также:

http://docs.datastax.com/en/latest-dse/datastax_enterprise/migration/migratingBulkSparkRDD.html

+0

Привет, Lain, у нас есть файл CSV. С помощью этого инструмента, я думаю, мы сначала должны создать схему в целевой БД. Затем запустите инструмент загрузки. Это правильно? Кроме того, у нас возникают проблемы с удалением соединения с удаленного хоста, лучше ли запустить этот инструмент загрузки на узле, где запущен главный узел кассандры? –

+0

Кроме того, почему этот инструмент лучше? Я проверил код, похоже, что он использует ConnectionPool только, как это лучше, чем sshtableload? –

+0

Это SlideShare сравнивает sstableloader, COPY и Кассандра загрузчик приложение: http://www.slideshare.net/BrianHess4/bulk-loading-into-cassandra Большое преимущество, не имеющий писать sstables. Вы также можете терпеть сбои узлов с загрузчиком, но не с sstableloader. Обычно лучше запускать клиентов на разных хостах. Если ваше соединение падает, вы можете попробовать сбросить количество фьючерсов и/или скорость. – Iain