Linux - Amazon Athena
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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://odbc-temp-test-folder-out/
  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>