雅典娜与R的联系



我是雅典娜的新手。我想将其与 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()

相关内容

  • 没有找到相关文章

最新更新