使用 Athena 查询 Amazon S3 表类数据存储服务 - Amazon Simple Storage Service

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

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

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

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

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

注意

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

查询表
  1. 登录到 AWS 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数据库字段中应填充在其中存储表的命名空间。

    注意

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

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

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

    • 如果您在尝试运行查询时收到错误“Iceberg 无法访问所请求的资源”,请转到 AWS 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.” 确保表名称和列名称全部为小写。