我正在尝试将R连接到Cassandra并且我收到以下错误 - 即使我在运行代码之前将此目录文件夹显式添加到类路径中(我还指向语句中的类路径)?谢谢你的帮助!
需要(RJDBC)
@ManagedBean(name = "Controlomenu")
@SessionScoped
public class Controlomenu {
@Autowired
private String pagina;
public Controlomenu(){
this.pagina= "hello.xhtml";
}
public String getPagina() {
return pagina;
}
public void setPagina(String pagina) {
this.pagina = pagina;
}
public void Paginalogin() {
setPagina("login.xhtml");
}
public void Paginaregistar() {
setPagina("registar.xhtml");
}
}
.jfindClass中的错误(as.character(driverClass)[1]):找不到类
答案 0 :(得分:4)
就我而言,我在JDBC()调用中命名的位置缺少数据库驱动程序。刚刚将Jar添加到该位置,它的工作原理!例如:
JDBC(driverClass="com.vertica.jdbc.Driver", classPath="C:/Program Files/Vertica Systems/JDBC/vertica-jdbc-7.2.1-0.jar")
这有用的线索源于开启调试:
.jclassLoader()$setDebug(1L)
答案 1 :(得分:0)
所以,那里的文档非常糟糕,我能够发现你需要以下“Dependency”jar,你需要将它们放在与驱动程序jar文件相同的文件夹中。
JARS清单:
Apache的卡桑德拉-节俭1.2.6 卡桑德拉-JDBC-2.1.1 log4j的-1.2.15 SLF4J-简单1.5.2 libthrift-0.7.0 杰克逊核心ASL-1.9.2 卡桑德拉-ALL-1.2.9 SLF4J-API-1.5.2 Apache的卡桑德拉 - clientutil-1.2.6 杰克逊映射器-ASL-1.9.2 番石榴15.0 SLF4J-log4j12-1.5.2
然而,即使你确实有幸解决了这个问题并且R找到了你的驱动程序,你就会遇到问题并得到下面的错误,似乎没有人修复......
log4j:WARN找不到logger(org.apache.cassandra.cql.jdbc.CassandraDriver)的appender。 log4j:WARN请正确初始化log4j系统。 .jcall中的错误(drv @ jdrv,“Ljava / sql / Connection;”,“connect”,as.character(url)[1],: java.sql.SQLNonTransientConnectionException:org.apache.thrift.transport.TTransportException:读取负帧大小(-2097152000)!
答案 2 :(得分:0)
请在cassandra / lib文件夹中添加cassandra-jdbc-1.2.5-1.0.0.jar文件。这对我有用。
答案 3 :(得分:-1)
R的例子都没有为我工作,而且我已经读过,即使那些对你有用的例子,你也必须建立一个在a $$中痛苦的分页。只需在python中使用此脚本执行此操作,它就会为您进行分页。
import sys
sys.path.append('/Library/Python/2.7/site-packages/')
import cql
from cassandra.cluster import Cluster
cluster = Cluster(contact_points=['10.121.xxx.xx'], protocol_version=3);
session = cluster.connect();
result = session.execute("select client_id, request_time, request_id,client_ip, exception, method, query_parameters, request_body, resource,response_duration_in_ms, response_http_code, user_id from api.api_usage_log")