1

我正在尝试通过 JDBC 使用 R 访问 Cassandra。不幸的是,即使我cassandra-jdbc-1.2.5.jar正确安装了/usr/share/cassandra/lib/包含该文件的 jar 包,我也会org/apache/cassandra/cql/jdbc/Utils.class收到以下错误:

> library(RJDBC)
Loading required package: DBI
Loading required package: rJava
> cassdrv <- JDBC("org.apache.cassandra.cql.jdbc.CassandraDriver",
+ list.files("/usr/share/cassandra/lib/",pattern="jar$",full.names=T))
>  #Connect to Cassandra node and Keyspace
> casscon <- dbConnect(cassdrv, "jdbc:cassandra://localhost:9160/something")
Error in .jcall(drv@jdrv, "Ljava/sql/Connection;", "connect", as.character(url)[1],  : 
  java.lang.NoClassDefFoundError: Could not initialize class org.apache.cassandra.cql.jdbc.Utils

(使用 cassandra 2.1.2、cassandra JDBC 1.2.5、R 3.1.2、CentOS Linux 版本 7.0.1406)

知道为什么会这样吗?

另外,我打开了这个错误报告:https ://code.google.com/a/apache-extras.org/p/cassandra-jdbc/issues/detail?id=100

4

1 回答 1

0

如果 rJava 版本的 java 和用于编译 Cassandra jar 的版本不匹配,即使它们被.jclassPath().

于 2015-01-20T18:55:14.927 回答