Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过R连接到雅典娜_R_Amazon Athena - Fatal编程技术网

通过R连接到雅典娜

通过R连接到雅典娜,r,amazon-athena,R,Amazon Athena,我指的是将R连接到雅典娜 定义驱动程序时,出现以下错误: .jfindClass(作为.character(driverClass)[1])中出错:找不到类 我做了一些研究,得出了结论。被接受的答案中有一条评论说明了同样的问题。但是,提供的解决方案(即重新启动R)不起作用 到目前为止,我已经编写了以下代码 library("pacman") pacman::p_load("RJDBC") pacman::p_load("dplyr") # Downloading Athena driver t

我指的是将R连接到雅典娜

定义驱动程序时,出现以下错误:

.jfindClass(作为.character(driverClass)[1])中出错:找不到类

我做了一些研究,得出了结论。被接受的答案中有一条评论说明了同样的问题。但是,提供的解决方案(即重新启动R)不起作用

到目前为止,我已经编写了以下代码

library("pacman")
pacman::p_load("RJDBC")
pacman::p_load("dplyr")

# Downloading Athena driver to the working directory
URL <- 'https://s3.amazonaws.com/athena-downloads/drivers/AthenaJDBC41-1.0.0.jar'
fil <- basename(URL)
if (!file.exists(fil)) download.file(URL, fil)

# Defining driver
drv <- JDBC(driverClass="com.amazonaws.athena.jdbc.AthenaDriver", fil, identifier.quote="'")
library(“pacman”)
pacman::p_负载(“RJDBC”)
pacman::p_负载(“dplyr”)
#正在将Athena驱动程序下载到工作目录

URL默认情况下,
download.file
命令以字符模式写入,而不是二进制。您应该指定二进制模式:

download.file(URL, fil, mode="wb")

默认情况下,
download.file
命令以字符模式写入,而不是二进制。您应该指定二进制模式:

download.file(URL, fil, mode="wb")

文件.exists(fil)未通过。我还尝试在定义驱动程序时传递完整路径,但仍然得到相同的错误。下载的驱动程序已损坏。我从下载的驱动程序,它的工作。奇怪的是,程序中给出的链接是同一个链接。好的想法,这是关键。看起来download.file默认以字符模式写入,而不是二进制。对于二进制文件,正确的下载命令应该是
download.file(URL,fil,mode=“wb”)
。确认James的解决方案对我有效。您可能需要相应地更改答案。file.exists(fil)不会通过。我还尝试在定义驱动程序时传递完整路径,但仍然得到相同的错误。下载的驱动程序已损坏。我从下载的驱动程序,它的工作。奇怪的是,程序中给出的链接是同一个链接。好的想法,这是关键。看起来download.file默认以字符模式写入,而不是二进制。对于二进制文件,正确的下载命令应该是
download.file(URL,fil,mode=“wb”)
。确认James的解决方案对我有效。您可能需要相应地更改答案。该博客的一条评论在使用Java7时提到了这个错误。您有什么Java版本?@James I使用以下命令获取正在使用的Java版本
J(“java.lang.System”、“getProperty”、“java.version”)
Output:1.8.0\u 20。@James I也将java更新为1.8.0\u 121,但仍然存在相同的错误。我还更新了环境变量。该博客的一条评论提到了使用Java7时的这个错误。您有什么Java版本?@James I使用以下命令获取正在使用的Java版本
J(“java.lang.System”、“getProperty”、“java.version”)
Output:1.8.0\u 20。@James I也将java更新为1.8.0\u 121,但仍然存在相同的错误。我还更新了环境变量。