【问题标题】:Cassandra Database is not connecting with R via RcassandraCassandra 数据库未通过 Rcassandra 与 R 连接
【发布时间】:2018-12-29 22:09:48
【问题描述】:

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

库(RCassandra)

rc

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

有什么建议

【问题讨论】:

  • 您在 Cassandra 日志中看到什么了吗?
  • no..我可以在 cassandra 中访问它。但我无法通过 Rcassandra 访问 R。它只是挂起或没有任何响应。
  • 看我的回答...

标签: r cassandra


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2014-08-07
    • 2014-10-26
    • 1970-01-01
    • 2017-08-05
    • 1970-01-01
    • 2019-07-12
    • 2017-06-16
    • 2017-06-14
    • 2012-06-05
    相关资源
    最近更新 更多