Есть ли у кого-нибудь совет по использованию cassandra с scala? Существует не родной scala -cassandra клиент, поддерживающий cassandra version 8.0+, поэтому я должен использовать hector, и, похоже, он работает нормально, но не для того, чтобы быть кратким. У вас есть какие-либо попытки, рекомендации или любой код обертки, и т.д. Для hector?
Cassandra с scala
Ответ 1
Cassie - это "A Scala клиент для Cassandra": https://github.com/twitter/cassie. Согласно блоку twitter dev, он был выпущен в 2012-02-09, после первоначального ответа на этот вопрос.
https://wiki.apache.org/cassandra/ClientOptions также перечисляет Cascal, который, как мне кажется, старше Cassie.
Ответ 2
Официальным драйвером Scala для Apache Cassandra и Datastax Enterprise с полной поддержкой CQL 3.0 является фантомный.
Phantom был разработан у Outworkers, официальных партнеров Datastax, явно для замены всех остальных драйверов. Он активно разрабатывается и поддерживается с полной поддержкой всех новейших функций Cassandra.
Отказ от ответственности: я веду проект по фантому, и результат может быть предвзятым в моей рекомендации. Мы предлагаем более подробные сравнения функций на фантомной вики.
Ответ 3
Вы просматривали классы в пакете шаблонов? Они могут сделать вашу обертку более кратким. У нас есть быстрое руководство по вики: https://github.com/rantav/hector/wiki/Getting-started-%285-minutes%29
Ответ 4
Двумя популярными клиентскими драйверами являются Quill и Phantom. Оба используют Datastax внизу. Я выполнил профилирование нагрузочного теста простого json GET/POST, используя игру для обоих. Вы можете увидеть параллельные сравнения результатов в проектах под root/loadtest/phantom | quill/results.
Возможно, вам лучше выбрать драйвер.
https://github.com/yleun/cassandra-loadtest
Кассандра 3.10 scala 2.11.8 phantom 2.6.4 перо 1.2.1
Ответ 5
Введение
Как и в предыдущих ответах, клиенты для Cassandra, основанные на Scala:
Однако оба они основаны на драйвере Java Datastax.
Лично мне не понравился ни один из них, и Java Driver чувствовал себя намного более естественным и простым. С другой стороны, эти библиотеки создавали некоторые накладные расходы, поэтому с точки зрения производительности они всегда хуже.
Интеграция Scala драйвера Java
Я нашел несколько статей (пример), показывающих, как можно лучше интегрировать драйвер Java с Scala, и это не выглядит сложным.
Результатом является моя собственная библиотека, которую вы можете найти на GitHub: https://github.com/atais/scassandra
Он обеспечивает бесшовную интеграцию в Scala как для запросов CQL
, так и для манипулирования ListenableFuture
, не отображая его в scala.Future
.
Наслаждаться :)