Linux - Amazon Athena

Linux

若想使用 Linux 客户端计算机访问 Amazon Athena,则需要安装 Amazon Athena ODBC 驱动程序。

Linux 系统要求

安装该驱动程序的每台 Linux 客户端计算机都必须满足以下要求。

  • 拥有根访问权限。

  • 使用以下 Linux 发行版之一:

    • Red Hat Enterprise Linux(RHEL)7 或 8

    • CentOS 7 或 8。

  • 有 100MB 可用磁盘空间。

  • 使用版本 2.3.1 或更高版本的 unixODBC

  • 使用版本 2.26 或更高版本的 GNU C 库(glibc)。

在 Linux 上安装 ODBC 数据连接器

参照以下过程在 Linux 操作系统上安装 Amazon Athena ODBC 驱动程序。

在 Linux 上安装 Amazon Athena ODBC 驱动程序
  1. 输入下列命令之一:

    sudo rpm -Uvh AmazonAthenaODBC-2.X.Y.Z.rpm

    或者

    sudo yum --nogpgcheck localinstall AmazonAthenaODBC-2.X.Y.Z.rpm
  2. 安装完成后,输入以下命令之一,验证驱动程序是否安装成功:

    • yum list | grep amazon-athena-odbc-driver

      输出:

      amazon-athena-odbc-driver.x86_64 2.0.2.1-1.amzn2int installed
    • rpm -qa | grep amazon

      输出:

      amazon-athena-odbc-driver-2.0.2.1-1.amzn2int.x86_64

在 Linux 上配置数据来源名称

安装好驱动程序后,可以在以下位置找到示例 .odbc.ini.odbcinst.ini 文件:

  • /opt/athena/odbc/ini/.

使用此位置中的 .ini 文件作为配置 Amazon Athena ODBC 驱动程序和数据来源名称(DSN)的示例。

注意

默认情况下,ODBC 驱动程序管理器使用位于主目录中的隐藏配置文件 .odbc.ini.odbcinst.ini

要使用 unixODBC 指定 .odbc.ini.odbcinst.ini 文件的路径,请执行以下步骤。

使用 unixODBC 指定 ODBC .ini 文件的位置
  1. ODBCINI 设置为 odbc.ini 文件的完整路径和文件名,如下例所示。

    export ODBCINI=/opt/athena/odbc/ini/odbc.ini
  2. ODBCSYSINI 设置为 odbcinst.ini 文件所在目录的完整路径,如下例所示。

    export ODBCSYSINI=/opt/athena/odbc/ini
  3. 输入以下命令,验证是否使用 unixODBC 驱动程序管理器,并验证 odbc*.ini 文件是否正确:

    username % odbcinst -j

    示例输出

    unixODBC 2.3.1 DRIVERS............: /opt/athena/odbc/ini/odbcinst.ini SYSTEM DATA SOURCES: /opt/athena/odbc/ini/odbc.ini FILE DATA SOURCES..: /opt/athena/odbc/ini/ODBCDataSources USER DATA SOURCES..: /opt/athena/odbc/ini/odbc.ini SQLULEN Size.......: 8 SQLLEN Size........: 8 SQLSETPOSIROW Size.: 8
  4. 如果想要使用数据来源名称(DSN)连接到数据存储,请配置 odbc.ini 文件来定义数据源名称(DSN)。设置 odbc.ini 文件中的属性,以便创建指定数据存储连接信息的 DSN,如下例所示。

    [ODBC Data Sources] athena_odbc_test=Amazon Athena ODBC (x64) [ATHENA_WIDE_SETTINGS] # Special DSN-name to signal driver about logging configuration. LogLevel=0 # To enable ODBC driver logs, set this to 1. UseAwsLogger=0 # To enable AWS-SDK logs, set this to 1. LogPath=/opt/athena/odbc/logs/ # Path to store the log files. Permissions to the location are required. [athena_odbc_test] Driver=/opt/athena/odbc/lib/libathena-odbc.so AwsRegion=us-west-1 Workgroup=primary Catalog=AwsDataCatalog Schema=default AuthenticationType=IAM Credentials UID= PWD= S3OutputLocation=s3://amzn-s3-demo-bucket/
  5. 配置 odbcinst.ini 文件,如下例所示。

    [ODBC Drivers] Amazon Athena ODBC (x64)=Installed [Amazon Athena ODBC (x64)] Driver=/opt/athena/odbc/lib/libathena-odbc.so Setup=/opt/athena/odbc/lib/libathena-odbc.so
  6. 安装并配置 Amazon Athena ODBC 驱动程序后,使用 unixODBC isql 命令行工具来验证连接,如下例所示。

    username % isql -v "athena_odbc_test" +---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | +---------------------------------------+ SQL>