r - Cassandra 数据库未通过 Rcassandra 与 R 连接
问题描述
当我使用 RCassandra 包连接到 Cassandra 数据库时,正在建立连接。但是当尝试使用任何键空间时,R 没有响应。我使用了以下语句。
图书馆(RCassandra)
rc <- RC.connect(host =“localhost”, 端口 = 9042)
RC.use(rc, "db1", cache.def = TRUE)
任何建议请
解决方案
您的问题是您直接指定端口,并且您使用的是本机协议的端口,而 RCassandra 使用 thrift 协议(使用端口 9160),所以当它与端口 9042 通信时,它根本不明白它说什么。因此,您需要完全删除参数port
,或者将其指定为9160
,并确保在.start_rpc
true
cassandra.yaml
我查看了 RCassandra 的源代码,发现它已经超过 5 年没有更新了。由于它使用 Thrift 而不是本机协议,因此与使用本机协议相比,您有很多限制。并且在 Cassandra 的下一个主要版本 - 4.0 中将删除对 Thrift 的支持。更好的选择是围绕 DataStax C/C++ 驱动程序编写一个包装器,并将底层功能暴露给 R。
推荐阅读
- rest - 有条件地为同一端点返回不同的 REST API 响应对象
- chromium - 将 Debian Buster 直接引导到 Chromium Kiosk
- html - 为什么我的 CSS 更改在 HTML 页面 (django) 中不可见?
- python - python和pip:陷入无休止的非安装循环
- azure - Azure 静态网站和 Blob 容器与 CDN 集成之间的区别
- java - 无法在 OSX 上从版本 14 降级到 Java JDK 8
- javascript - 基于滚动百分比的 jQuery 动画
- sql - 在Oracle中将数据集分组到一行
- scala - Elasticsearch-hadoop 连接器
- pandas - pandas bool 类型为是或否