【问题标题】:Connect R to Athena with ODBC Driver on MacOS在 MacOS 上使用 ODBC 驱动程序将 R 连接到 Athena
【发布时间】:2022-12-03 06:22:45
【问题描述】:

我正在尝试使用 ODBC 从 R 访问 Athena 上的数据。

我通过 brew 安装了 unixODBC,并从网上安装了 Simba Athena ODBC 驱动程序。

当我跑步时:

con <- DBI::dbConnect(
  odbc::odbc(),
  Driver = "/Library/simba/athenaodbc/lib/libathenaodbc_sb64.dylib",
  S3OutputLocation = "",
  AwsRegion = Sys.getenv("AWS_DEFAULT_REGION"),
  AuthenticationType = "IAM Credentials",
  UID = Sys.getenv("AWS_ACCESS_KEY_ID"),
  PWD = Sys.getenv("AWS_SECRET_ACCESS_KEY")
)

我有这个错误:

错误:nanodbc/nanodbc.cpp:1021:00000:[unixODBC][Driver 经理]无法打开库 '/Library/simba/athenaodbc/lib/libathenaodbc_sb64.dylib':文件不是 成立

但是这个文件肯定存在,为什么unixODBC找不到这个文件?

我从网上安装了 R 和 RStudio,而不是通过 Homebrew,这里是 sessionInfo :

version  R version 4.1.3 (2022-03-10)
os       macOS Monterey 12.2
system   aarch64, darwin20
ui       RStudio
language (EN)
collate  en_US.UTF-8
ctype    en_US.UTF-8
tz       Europe/Paris
date     2022-04-08
rstudio  2022.02.0+443 Prairie Trillium (desktop)
pandoc   NA

【问题讨论】:

    标签: r odbc amazon-athena dbi


    【解决方案1】:

    我可能在这里偏离基础,但我一直在实例化调用中使用Driver=作为姓名驱动程序的位置,而不是它的库的位置。我相信这是一个 ODBC 的东西,所以不管你是在 macos 还是 linux 上,或者连接到 SQL Server 或 MariaDB 或其他。

    在 linux-box 上,例如,在 /etc/odbcinst.ini 中,我有以下部分:

    [ODBC Driver 17 for SQL Server]
    Description=Microsoft ODBC Driver 17 for SQL Server
    Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.8.so.1.1
    UsageCount=1
    

    当我连接到 SQL Server 实例时,我的调用是

    con <- dbConnect(odbc::odbc(), Driver="ODBC Driver 17 for SQL Server", ...)
    

    该文件不需要在/etc/下定义,还有其他方法可以声明那些驱动程序段。

    【讨论】:

    【解决方案2】:

    here 运行 MacOS 安装程序:

    文件安装到

    /Library/simba/athenaodbc/lib
        AthenaODBC.did
        cacerts.pem
        libathenaodbc_sb64.dylib
        simba.athenaodbc.ini
     
    /Library/simba/athenaodbc/Setup
        odbc.ini
        odbcinst.ini
     
    /Users/arthur/Library/ODBC
        odbcinst.ini
    

    ini 文件中有不同的驱动程序名称:libathenaodbc_sbu.dylib 而不是 libathenaodbc_sb64.dylib

    你也一样吗?你有不匹配的文件名吗?

    【讨论】:

      猜你喜欢
      • 2019-05-08
      • 1970-01-01
      • 2021-10-31
      • 2022-06-15
      • 2013-11-11
      • 2020-10-11
      • 1970-01-01
      • 1970-01-01
      • 2021-06-07
      相关资源
      最近更新 更多