База данных Cassandra не соединяется с R через Rcassandra - PullRequest
0 голосов
/ 17 декабря 2018

Когда я подключаюсь к базе данных Cassandra с помощью пакета RCassandra, соединение устанавливается.Но при попытке использовать любое пространство клавиш R не отвечает. Я использовал следующие операторы.

library (RCassandra)

rc <- RC.connect (host = "localhost", порт = 9042) </p>

RC.use (rc, "db1", cache.def = TRUE)

Любые предложения, пожалуйста

1 Ответ

0 голосов
/ 29 декабря 2018

Ваша проблема в том, что вы указываете порт напрямую и используете порт нативного протокола, в то время как RCassandra использует экономичный протокол (который использует порт 9160), поэтому, когда он общается с портом 9042, он просто нене понимаю, что это говорит.Поэтому вам нужно либо полностью удалить аргумент port, либо указать его как 9160, и убедиться, что для параметра start_rpc установлено значение true в cassandra.yaml.

.заглянул в исходный код RCassandra и увидел, что он не обновлялся более 5 лет.И поскольку он использует Thrift вместо собственного протокола, у вас есть много ограничений по сравнению с использованием собственного протокола.А поддержка Thrift будет удалена в следующей основной версии Cassandra - 4.0.Лучшей альтернативой будет написание оболочки вокруг драйвера DataStax C / C ++ и предоставление базовой функциональности R.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...