library(RJDBC)
cassdrv <- JDBC("org.apache.cassandra.cql.jdbc.CassandraDriver",
list.files("/home/beyhan/Downloads/jars/",pattern="jar$",full.names=T))
casscon <- dbConnect(cassdrv, "jdbc:cassandra://localhost:9042")
输出
> cassdrv <- JDBC("org.apache.cassandra.cql.jdbc.CassandraDriver",
+ list.files("/home/beyhan/Downloads/jars/",pattern="jar$",full.names=T))
> casscon <- dbConnect(cassdrv, "jdbc:cassandra://localhost:9042")
.jcall中的错误(drv @ jdrv,&#34; Ljava / sql / Connection;&#34;,&#34; connect&#34;, as.character(url)[1] ,: java.lang.NoClassDefFoundError: 组织/阿帕奇/节俭/运输/ TTransportException
答案 0 :(得分:0)
好的,ODBC连接器基于THRIFT协议。不推荐使用THRIFT与Cassandra的连接。我认为解决方案中的Python是最适合您的方法。这是一个例子:How to read data from Cassandra with R?
这是一篇关于Thrift vs. CQL的博文:http://www.datastax.com/dev/blog/cassandra-2-1-now-over-50-faster
答案 1 :(得分:0)
我们的Cassandra JDBC驱动程序允许您访问R中的Cassandra数据。为了清楚起见,我们的驱动程序为您的Cassandra数据创建了一个关系接口,允许您通过我们的驱动程序向Cassandra提交SQL查询(在内部,我们翻译SQL到CQL,发送请求并将结果作为关系数据库返回。)
我们的知识库中有article用于连接,但我也会将其转录。
加载RJDBC包:
library(RJDBC)
设置驱动程序类和类路径:
driver <- JDBC(driverClass = "cdata.jdbc.cassandra.CassandraDriver", classPath = "MyInstallationDir\lib\cdata.jdbc.cassandra.jar", identifier.quote = "'")
初始化JDBC连接:
conn <- dbConnect(driver,"Database=MyCassandraDB;Port=7000;Server=127.0.0.1;")
(设置服务器,端口和数据库连接属性以连接到Cassandra。)
此时,您可以执行R中可用的标准操作,例如:
列出表格:
dbListTables(conn)
执行Cassandra API支持的任何SQL查询:
customer <- dbGetQuery(conn,"SELECT City, SUM(TotalDue) FROM Customer GROUP BY City")
查看结果:
View(customer)
随意下载free Beta驱动程序!如果您有任何疑问,请告诉我们。