从 R 连接到 amazon redshift 时出错 - windows 10
Error connecting to amazon redshift from R - windows 10
当使用 JDBC 函数将 R 连接到 amazon redshift(我使用的是 windows 10)时,出现以下错误:
Error in .jfindClass(as.character(driverClass)[1]) : class not found
我运行的代码是
install.packages("rJava")
install.packages("RJDBC")
library(rJava)
library(RJDBC)
download.file('http://s3.amazonaws.com/redshift-downloads/drivers/RedshiftJDBC41-1.1.13.1013.jar','RedshiftJDBC41-1.1.13.1013.jar')
driver <- JDBC("com.amazon.redshift.jdbc41.Driver", "RedshiftJDBC41-1.1.13.1013.jar", identifier.quote = "`")
为了获得有关错误的更多信息,我运行了这个:
.jclassLoader()$setDebug(1L)
完整的错误跟踪是:
RJavaClassLoader: added 'RedshiftJDBC41-1.1.13.1013.jar' to the URL class path loader
RJavaClassLoader: adding Java archive file 'RedshiftJDBC41-1.1.13.1013.jar' to the internal class path
RJavaClassLoader: added 'C:/Users/user/Documents/R/win-library/3.2/RJDBC/java/RJDBC.jar' to the URL class path loader
RJavaClassLoader: adding Java archive file 'C:/Users/user/Documents/R/win-library/3.2/RJDBC/java/RJDBC.jar' to the internal class path
RJavaClassLoader@33909752.findClass(com.amazon.redshift.jdbc41.Driver)
- URL loader did not find it: java.lang.ClassNotFoundException: com.amazon.redshift.jdbc41.Driver
RJavaClassLoader.findClass("com.amazon.redshift.jdbc41.Driver")
- trying class path "C:\Users\user\Documents\R\win-library.2\rJava\java"
Directory, can get 'C:\Users\user\Documents\R\win-library.2\rJava\java\com\amazon\redshift\jdbc41\Driver.class'? NO
- trying class path "C:\Users\user\Documents\R\win-library.2\RJDBC\java\RJDBC.jar"
JAR file, can get 'com/amazon/redshift/jdbc41/Driver'? NO
- trying class path "C:\Users\user\Desktop\Pricing"
Directory, can get 'C:\Users\user\Desktop\Pricing\com\amazon\redshift\jdbc41\Driver.class'? NO
- trying class path "C:\Users\user\Desktop\Pricing\RedshiftJDBC41-1.1.9.1009.jar"
JAR file, can get 'com/amazon/redshift/jdbc41/Driver'? NO
- trying class path "RedshiftJDBC41-1.1.9.1009.jar"
JAR file, can get 'com/amazon/redshift/jdbc41/Driver'? NO
- trying class path "." Directory, can get '.\com\amazon\redshift\jdbc41\Driver.class'? NO
- trying class path "C:\RedshiftJDBC41-1.1.9.1009.jar"
JAR file, can get 'com/amazon/redshift/jdbc41/Driver'? NO
- trying class path "RedshiftJDBC41-1.1.13.1013.jar"
JAR file, can get 'com/amazon/redshift/jdbc41/Driver'? NO
>> ClassNotFoundException
如果您有任何想法可以提供帮助,那就太棒了!谢谢
我对您的建议是将 redshift 与 RPostgreSQL 包连接。
install.packages("RPostgreSQL")
library(RPostgreSQL)
drv <- dbDriver("PostgreSQL")
conn <-dbConnect(drv,host='host link',port='5439',dbname='dbname',user='xxx',password='yyy')
dbSendQuery(conn,"insert your query")
您好,我指的是您的代码
install.packages("rJava")
install.packages("RJDBC")
图书馆(rJava)
图书馆(RJDBC)
download.file('http://s3.amazonaws.com/redshift-downloads/drivers/RedshiftJDBC41-1.1.13.1013.jar','RedshiftJDBC41-1.1.13.1013.jar')
driver <- JDBC("com.amazon.redshift.jdbc41.Driver", "RedshiftJDBC41-1.1.13.1013.jar", identifier.quote = "`")
你写驱动对象的地方,语法是
driver <- JDBC("CLASSNAME","PATH WHERE REDSHIFT JAR FILE IS DOWNLOADED')
我有同样的错误,一旦我意识到我必须放置正确的路径,我就可以连接了。
我对 JDBC 的第二个论点是 'C:\Users\person.name\Downloads\RedshiftJDBC41-1.1.13.1013.jar'
希望对您有所帮助
完全相同的问题影响了我。出于某种原因,download.file()
抓取了一个损坏的 .jar。我们小组的开发人员发现了以下修复:
省略:
download.file('http://s3.amazonaws.com/redshift-downloads/drivers/RedshiftJDBC41-1.1.13.1013.jar','RedshiftJDBC41-1.1.13.1013.jar')
而是直接从 http://docs.aws.amazon.com/redshift/latest/mgmt/configure-jdbc-connection.html
下载 .jar
将 .jar 复制到您的工作目录。
运行 剩余代码。
当使用 JDBC 函数将 R 连接到 amazon redshift(我使用的是 windows 10)时,出现以下错误:
Error in .jfindClass(as.character(driverClass)[1]) : class not found
我运行的代码是
install.packages("rJava")
install.packages("RJDBC")
library(rJava)
library(RJDBC)
download.file('http://s3.amazonaws.com/redshift-downloads/drivers/RedshiftJDBC41-1.1.13.1013.jar','RedshiftJDBC41-1.1.13.1013.jar')
driver <- JDBC("com.amazon.redshift.jdbc41.Driver", "RedshiftJDBC41-1.1.13.1013.jar", identifier.quote = "`")
为了获得有关错误的更多信息,我运行了这个:
.jclassLoader()$setDebug(1L)
完整的错误跟踪是:
RJavaClassLoader: added 'RedshiftJDBC41-1.1.13.1013.jar' to the URL class path loader
RJavaClassLoader: adding Java archive file 'RedshiftJDBC41-1.1.13.1013.jar' to the internal class path
RJavaClassLoader: added 'C:/Users/user/Documents/R/win-library/3.2/RJDBC/java/RJDBC.jar' to the URL class path loader
RJavaClassLoader: adding Java archive file 'C:/Users/user/Documents/R/win-library/3.2/RJDBC/java/RJDBC.jar' to the internal class path
RJavaClassLoader@33909752.findClass(com.amazon.redshift.jdbc41.Driver)
- URL loader did not find it: java.lang.ClassNotFoundException: com.amazon.redshift.jdbc41.Driver
RJavaClassLoader.findClass("com.amazon.redshift.jdbc41.Driver")
- trying class path "C:\Users\user\Documents\R\win-library.2\rJava\java"
Directory, can get 'C:\Users\user\Documents\R\win-library.2\rJava\java\com\amazon\redshift\jdbc41\Driver.class'? NO
- trying class path "C:\Users\user\Documents\R\win-library.2\RJDBC\java\RJDBC.jar"
JAR file, can get 'com/amazon/redshift/jdbc41/Driver'? NO
- trying class path "C:\Users\user\Desktop\Pricing"
Directory, can get 'C:\Users\user\Desktop\Pricing\com\amazon\redshift\jdbc41\Driver.class'? NO
- trying class path "C:\Users\user\Desktop\Pricing\RedshiftJDBC41-1.1.9.1009.jar"
JAR file, can get 'com/amazon/redshift/jdbc41/Driver'? NO
- trying class path "RedshiftJDBC41-1.1.9.1009.jar"
JAR file, can get 'com/amazon/redshift/jdbc41/Driver'? NO
- trying class path "." Directory, can get '.\com\amazon\redshift\jdbc41\Driver.class'? NO
- trying class path "C:\RedshiftJDBC41-1.1.9.1009.jar"
JAR file, can get 'com/amazon/redshift/jdbc41/Driver'? NO
- trying class path "RedshiftJDBC41-1.1.13.1013.jar"
JAR file, can get 'com/amazon/redshift/jdbc41/Driver'? NO
>> ClassNotFoundException
如果您有任何想法可以提供帮助,那就太棒了!谢谢
我对您的建议是将 redshift 与 RPostgreSQL 包连接。
install.packages("RPostgreSQL")
library(RPostgreSQL)
drv <- dbDriver("PostgreSQL")
conn <-dbConnect(drv,host='host link',port='5439',dbname='dbname',user='xxx',password='yyy')
dbSendQuery(conn,"insert your query")
您好,我指的是您的代码
install.packages("rJava") install.packages("RJDBC") 图书馆(rJava) 图书馆(RJDBC)
download.file('http://s3.amazonaws.com/redshift-downloads/drivers/RedshiftJDBC41-1.1.13.1013.jar','RedshiftJDBC41-1.1.13.1013.jar')
driver <- JDBC("com.amazon.redshift.jdbc41.Driver", "RedshiftJDBC41-1.1.13.1013.jar", identifier.quote = "`")
你写驱动对象的地方,语法是
driver <- JDBC("CLASSNAME","PATH WHERE REDSHIFT JAR FILE IS DOWNLOADED')
我有同样的错误,一旦我意识到我必须放置正确的路径,我就可以连接了。 我对 JDBC 的第二个论点是 'C:\Users\person.name\Downloads\RedshiftJDBC41-1.1.13.1013.jar'
希望对您有所帮助
完全相同的问题影响了我。出于某种原因,download.file()
抓取了一个损坏的 .jar。我们小组的开发人员发现了以下修复:
省略:
download.file('http://s3.amazonaws.com/redshift-downloads/drivers/RedshiftJDBC41-1.1.13.1013.jar','RedshiftJDBC41-1.1.13.1013.jar')
而是直接从 http://docs.aws.amazon.com/redshift/latest/mgmt/configure-jdbc-connection.html
下载 .jar
将 .jar 复制到您的工作目录。
运行 剩余代码。