将 Athena 连接到 Apache Hive 元存储 - Amazon Athena
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将 Athena 连接到 Apache Hive 元存储

要将 Athena 连接到 Apache Hive 元存储,您必须创建 Lambda 函数并配置 Lambda 函数。对于基本实施,您可以从 Athena 管理控制台开始执行所有必需步骤。

注意

以下过程要求您具有为 Lambda 函数创建自定义 IAM 角色的权限。如果您没有创建自定义角色的权限,则可以使用 Athena参考实施创建 Lambda 函数,然后使用 Lambda 函数Amazon Lambda控制台为函数选择现有 IAM 角色。有关更多信息,请参阅使用现有 IAM 执行角色将 Athena 连接到 Hive 元数据仓库

将 Athena 连接到 Hive 元存储

  1. https://console.aws.amazon.com/athena/ 打开 Athena 控制台。

  2. 选择 Connect data source (连接数据源)

    
                        选择 Connect data source (连接数据源)。
  3. Connect data source (连接数据源) 页面上的 Choose a metadata catalog (择元数据目录) 中,选择 Apache Hive metastore (Apache Hive 元数据仓)

  4. 选择 Next

  5. 在存储库的连接详细信息页面, 对于Lambda 函数中,选择配置新建Amazon Lambdafunction

    
                        选择配置新建Amazon Lambdafunction。

    这些区域有:AthenaHiveMetastoreFunction页面随即打开Amazon Lambda控制台。

    
                        这些区域有:AthenaHiveMetastoreFunction页面Amazon Lambda控制台。
  6. UNDER应用程序设置中,输入 Lambda 函数的参数。

    • Lambda 函数名称— 提供函数的名称。例如,myHiveMetastore

    • 溢出位置— 在此账户中指定一个 Amazon S3 位置,以便在 Lambda 函数响应大小超过 4MB 时保存溢出元数据。

    • HMSURI— 输入您的 Hive 元数据仓主机的 URI,该主机在端口 9083 使用 Thrift 协议。使用语法thrift://<host_name>:9083

    • 兰姆·达默莫里— 指定从 128MB 到 3008MB 的值。Lambda 函数分配与您配置的内存量成比例的 CPU 周期。默认值为 1024。

    • LambdImage— 指定允许的最大 Lambda 调用运行时间(以秒为单位),从 1 到 900(900 秒为 15 分钟)。默认值为 300 秒(5 分钟)。

    • VpcSecurityGroupIds— 输入 Hive 元存储的 VPC 安全组 ID 的逗号分隔的逗号分隔列表。

    • VpcSubneIds— 输入 Hive 元存储的 VPC 子网 ID 的逗号分隔的逗号分隔列表。

  7. 在右下角应用程序详细信息页面上,选择我确认此应用程序创建自定义 IAM 角色,然后选择部署

    
                        部署 Lambda 函数应用程序从Amazon Lambda控制台。

    部署完成后,函数将显示在 Lambda 应用程序的列表中。现在 Hive 元数据仓功能已部署到您的帐户,您可以将 Athena 配置为使用它。

    
                        Lambda Hive 元数据存储应用程序中的Amazon Lambda控制台。
  8. 返回到连接详细信息页面数据源选项卡。

  9. 选择Refresh图标 (位于)选择 Lambda 函数。刷新可用函数列表会导致新创建的函数出现在列表中。

    
                        选择 Refresh。
  10. 现在您的 Lambda 函数可用,请选择它。

    
                        选择您创建的 Lambda 函数。

    一个新的Lambda 函数的 ARN条目显示 Lambda 函数的 ARN。

    
                        Lambda 函数的 ARN。
  11. 适用于目录名称中,输入 SQL 查询中将使用的唯一名称以引用数据源。名称的长度最多可包含 127 个字符,且在您的账户中必须是唯一的。它在创建后即无法更改。有效字符包括 a-z、A-Z、0-9、_(下划线)、@ 符号和 -(连字符)。名称awsdatacataloghivejmx, 和system是 Athena 预留的,无法用于自定义目录名称。

  12. (可选)说明中,输入描述数据目录的文本。

  13. 选择 Connect (连接)。这将 Athena 连接到您的 Hive 元商店目录。

    这些区域有:数据源页面显示已连接的目录的列表,包括刚刚连接的目录。所有已注册的目录对同一 Amazon Web Services 账户中的所有用户可见。

    
                        这些区域有:数据源页面显示已连接的目录。
  14. 您现在可以使用指定的 Catalog name (目录名称) 以在 SQL 查询中引用 Hive 元数据仓。在 SQL 查询中,使用以下示例语法,并将 hms-catalog-1 替换为您之前指定的目录名称。

    SELECT * FROM hms-catalog-1.CustomerData.customers;
  15. 要查看、编辑或删除您创建的数据源,请参阅管理数据源