【问题标题】:Athena Connection with R雅典娜与 R 的连接
【发布时间】:2021-01-27 16:56:44
【问题描述】:

我是雅典娜的新手。我想把它和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。

【问题讨论】:

    标签: r amazon-athena rjdbc


    【解决方案1】:

    如果您仍然无法使用 Athena 的 JDBC 驱动程序,您可以随时尝试:RAthenanoctua。这两个包选择使用 AWS SDK 连接到 AWS Athena。

    RAthena 使用Python boto3 sdk(类似于pyathena),通过reticulate

    noctua 使用R paws 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()

    【讨论】:

      【解决方案2】:

      您正在使用更新的驱动程序版本,驱动程序现在由 simba 开发,因此驱动程序类名称已更改。

      驱动类现在是com.simba.athena.jdbc.Driver

      您可能还想查看AWR.Athena - 一个与 Athena 交互的不错的 R 包。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-19
      • 2021-01-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多