首页 > 解决方案 > Cassandra 数据库未通过 Rcassandra 与 R 连接

问题描述

当我使用 RCassandra 包连接到 Cassandra 数据库时,正在建立连接。但是当尝试使用任何键空间时,R 没有响应。我使用了以下语句。

图书馆(RCassandra)

rc <- RC.connect(host =“localhost”, 端口 = 9042)

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

任何建议请

标签: rcassandra

解决方案


您的问题是您直接指定端口,并且您使用的是本机协议的端口,而 RCassandra 使用 thrift 协议(使用端口 9160),所以当它与端口 9042 通信时,它根本不明白它说什么。因此,您需要完全删除参数port,或者将其指定为9160,并确保在.start_rpctruecassandra.yaml

我查看了 RCassandra 的源代码,发现它已经超过 5 年没有更新了。由于它使用 Thrift 而不是本机协议,因此与使用本机协议相比,您有很多限制。并且在 Cassandra 的下一个主要版本 - 4.0 中将删除对 Thrift 的支持。更好的选择是围绕 DataStax C/C++ 驱动程序编写一个包装器,并将底层功能暴露给 R。


推荐阅读