我是雅典娜的新手。我想将其与 R 连接
Sys.getenv()
URL <- 'https://s3.amazonaws.com/athena-downloads/drivers/AthenaJDBC42_2.0.14.jar'
fil <- basename(URL)
if (!file.exists(fil)) download.file(URL, fil)
drv <- JDBC(driverClass="com.simba.athena.jdbc.Driver", fil, identifier.quote="'")
这是错误消息
Error in .jfindClass(as.character(driverClass)[1]) :
java.lang.ClassNotFoundException
参考了这篇文章 https://aws.amazon.com/blogs/big-data/running-r-on-amazon-athena/
con <- jdbcConnection <- dbConnect(drv, 'jdbc:awsathena://athena.ap-south-1.amazonaws.com:443/',
s3_staging_dir="s3://aws-athena-query-results-ap-south-1-region/",
user=("xxx"),
password=("xxx"))
需要帮助,真的从两天开始挣扎
提前谢谢。我下载了jar文件和java。
您使用的是较新的驱动程序版本,并且该驱动程序现在由 simba 开发,因此驱动程序类名称已更改。
驱动程序类现在已com.simba.athena.jdbc.Driver
。
您可能还想查看 AWR。Athena - 一个很好的R包,可以与Athena交互。
如果您仍然在使用 Athena 的 JDBC 驱动程序时遇到困难,您可以随时尝试:RAthena 或 noctua。这两个软件包选择使用 AWS 开发工具包与 AWS Athena 建立连接。
RAthena
通过网状使用Python boto3 sdk(类似于pyathena)。
noctua
使用 R 爪子 sdk。
代码示例:
library(DBI)
# connect to AWS
# using ~/.aws/credentials to store aws credentials
con <- dbConnect(RAthena::athena(),
s3_staging_dir = "s3://mybucket/")
# upload some data into aws athena
dbWriteTable(con, "iris", iris)
# query iris in aws athena
dbGetQuery(con, "select * from iris")
注意:noctua
的工作方式与上面的代码示例完全相同,但驱动程序是:noctua::athena()