【发布时间】:2014-03-26 11:43:21
【问题描述】:
我正在使用 R 2.14.1 和 Cassandra 1.2.11,我有一个单独的程序将数据写入单个 Cassandra 表。我无法从 R 中读取它们。
Cassandra 模式的定义如下:
create table chosen_samples (id bigint , temperature double, primary key(id))
我第一次尝试了 RCassandra 包 (http://www.rforge.net/RCassandra/)
> # install.packages("RCassandra")
> library(RCassandra)
> rc <- RC.connect(host ="192.168.33.10", port = 9160L)
> RC.use(rc, "poc1_samples")
> cs <- RC.read.table(rc, c.family="chosen_samples")
连接似乎成功,但将表解析为数据框失败:
> cs
Error in data.frame(..dfd. = c("@\"ffffff", "@(<cc><cc><cc><cc><cc><cd>", :
duplicate row.names:
我也尝试过使用 JDBC 连接器,如下所述:http://www.datastax.com/dev/blog/big-analytics-with-r-cassandra-and-hive
> # install.packages("RJDBC")
> library(RJDBC)
> cassdrv <- JDBC("org.apache.cassandra.cql.jdbc.CassandraDriver", "/Users/svend/dev/libs/cassandra-jdbc-1.2.5.jar", "`")
但是这个失败是这样的:
Error in .jfindClass(as.character(driverClass)[1]) : class not found
即使java驱动的位置是正确的
$ ls /Users/svend/dev/libs/cassandra-jdbc-1.2.5.jar
/Users/svend/dev/libs/cassandra-jdbc-1.2.5.jar
【问题讨论】:
-
您应该更新您的旧 R 版本。当前版本是 3.0.2。