使用 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 分析服务结合使用。
查询表
登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/
。 -
在左侧导航窗格中,选择表存储桶。
-
在表存储桶页面上,选择包含要查询的表的存储桶。
-
在存储桶详细信息页面上,选择要查询的表名称旁边的选项按钮。
-
选择使用 Athena 查询表。
-
Amazon Athena 控制台打开,Athena 查询编辑器随即出现,其中包含为您加载的示例
SELECT
查询。根据您的用例需要修改此查询。在查询编辑器中,目录字段中应填充 s3tablescatalog/,后跟表存储桶的名称,例如 s3tablescatalog/
amzn-s3-demo-bucket
。数据库字段中应填充在其中存储表的命名空间。注意
如果您在目录和数据库字段中看不到这些值,请确保您已在该区域中将表存储桶与 Amazon 分析服务集成。有关更多信息,请参阅 将 Amazon S3 表类数据存储服务与 Amazon 分析服务结合使用。
-
要运行查询,请选择 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.”
确保表名称和列名称全部为小写。
-