使用 Athena 查询 Amazon S3 表类数据存储服务 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 Athena 查询 Amazon S3 表类数据存储服务

Amazon Athena 是一种交互式查询服务,可用于通过使用标准 SQL 直接分析 Amazon S3 中的数据。有关更多信息,请参阅《Amazon Athena 用户指南》中的 什么是 Amazon Athena?

将表存储桶与 Amazon 分析服务集成后,可以使用 Athena 对 S3 表运行数据定义语言(DDL)、数据操作语言(DML)和数据查询语言(DQL)查询。有关如何查询表存储桶中的表的更多信息,请参阅《Amazon Athena 用户指南》中的注册 S3 表存储桶目录

还可以在 Athena 中从 Amazon S3 控制台运行查询。

以下过程使用 Amazon S3 控制台访问 Athena 查询编辑器,以便您可以使用 Amazon Athena 查询表。

注意

在执行以下步骤之前,请确保您已在此区域中将表存储桶与 Amazon 分析服务集成。有关更多信息,请参阅 将 Amazon S3 表类数据存储服务与 Amazon 分析服务结合使用

查询表
  1. 登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. 在左侧导航窗格中,选择表存储桶

  3. 表存储桶页面上,选择包含要查询的表的存储桶。

  4. 在存储桶详细信息页面上,选择要查询的表名称旁边的选项按钮。

  5. 选择使用 Athena 查询表

  6. Amazon Athena 控制台打开,Athena 查询编辑器随即出现,其中包含为您加载的示例 SELECT 查询。根据您的用例需要修改此查询。

    在查询编辑器中,目录字段中应填充 s3tablescatalog/,后跟表存储桶的名称,例如 s3tablescatalog/amzn-s3-demo-bucket数据库字段中应填充在其中存储表的命名空间。

    注意

    如果您在目录数据库字段中看不到这些值,请确保您已在该区域中将表存储桶与 Amazon 分析服务集成。有关更多信息,请参阅 将 Amazon S3 表类数据存储服务与 Amazon 分析服务结合使用

  7. 要运行查询,请选择 Run(运行)。

    注意
    • 如果您在尝试在 Athena 中运行查询时收到错误“权限不足,无法执行查询。主体对指定的资源没有任何权限”,则必须向您授予对于表的必需 Lake Formation 权限。有关更多信息,请参阅 授予对表或数据库的权限

    • 如果您在尝试运行查询时收到错误“Iceberg 无法访问所请求的资源”,请转到 Amazon Lake Formation 控制台,并确保您已授予自己对您创建的表存储桶目录和数据库(命名空间)的权限。授予这些权限时请勿指定表。有关更多信息,请参阅 授予对表或数据库的权限

    • 如果在 Athena 中运行 SELECT 查询时收到以下错误消息,则此消息是由表名称中或表定义的列名称中具有大写字母而引起的:“GENERIC_INTERNAL_ERROR: Get table request failed: com.amazonaws.services.glue.model.ValidationException: Unsupported Federation Resource - Invalid table or column names.” 确保表名称和列名称全部为小写。