2016-02-10 2 views
0

У меня есть кластер Cassandra с двумя узлами и replica_factor = 2 в том же центре данных. Таблица в ~ 150 миллионов и постоянное увеличение, что мне нужно прочитать процесс и обновить соответствующую строку в Кассандре один раз в день.Как читать все строки из огромной таблицы в кассандре?

  • Есть ли лучший подход для этого?

  • Есть ли способ разделить все строки в параллельном куске и каждом процессе куска на какой-то поток?

  • Cassandra версия: 2.2.1

  • Java Версия: OpenJDK 1,7

ответ

0

Вы должны взглянуть на Спарк. Использование Spark Cassandra Connector позволяет вам считывать данные из Cassandra из нескольких искровых узлов, которые могут быть развернуты дополнительно на узлах Cassandra или в отдельном кластере. Данные считываются, обрабатываются и записываются параллельно, запустив задание Spark, которое также может быть запланировано для ежедневного выполнения.

Поскольку ваш размер данных постоянно растет, вероятно, имеет смысл также взглянуть на Spark Streaming, что позволит вам постоянно обрабатывать и обновлять данные, основываясь только на новых данных. Это предотвратит повторную обработку одних и тех же данных и снова, но это, конечно, зависит от вашего прецедента, если это вариант для вас.

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