我使用R 2.14.1和Cassandra 1.2.11,我有一個單獨的程序,它已經將數據寫入單個Cassandra表。我無法從R.閱讀如何用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。 – Roland