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://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>

验证 ODBC 驱动程序签名

重要

我们建议在您的计算机上安装 Athena ODBC 驱动程序 RPM 签名之前对其进行验证。

请按照以下步骤验证 Athena ODBC 驱动程序 RPM 包的签名:

  1. 准备模板

    使用适当的公有密钥、RPM 签名以及指向 Amazon S3 存储桶中托管的 RPM 脚本的相应访问链接来准备命令。您必须将以下内容下载到设备上。

  2. 将 Athena ODBC 驱动程序、公有密钥和 Athena ODBC RPM 签名下载到设备上。

  3. 运行以下命令来验证 ODBC 驱动程序签名:

    openssl dgst -sha256 -verify public_key.pem -signature signature.bin AmazonAthenaODBC-2.0.4.0.rpm

    如果通过验证,您将看到类似 Verified OK 的消息。这意味着现在可以继续安装 Athena ODBC 驱动程序。

    如果失败并显示消息 Verification Failure,则意味着 RPM 上的签名已被篡改。确保步骤 1 中提到的所有三个文件都存在、路径指定正确并且文件自下载以来未被修改,然后重试验证过程。