查询 S3 Express One Zone 数据 - Amazon Athena

查询 S3 Express One Zone 数据

Amazon S3 Express One Zone 存储类是一种可提供个位数毫秒级响应时间的高性能 Amazon S3 存储类。因此,它非常适合以每秒数十万个请求频繁访问数据的应用程序。

S3 Express One Zone 在同一个可用区内复制和存储数据,优化了速度和成本。这与 Amazon S3 区域存储类不同,后者会自动在一个 AWS 区域 内的至少三个 AWS 可用区之间复制数据。

有关更多信息,请参阅《Amazon S3 用户指南》中的 What is S3 Express One Zone?

先决条件

在开始使用之前,请确认满足以下条件:

  • Athena 引擎版本 3 – 要将 S3 Express One Zone 与 Athena SQL 结合使用,必须将您的工作组配置为使用 Athena 引擎版本 3。

  • S3 Express One Zone 权限 – 当 S3 Express One Zone 在 Amazon S3 对象上调用 GETLISTPUT 等操作时,存储类会代表您调用 CreateSession。因此,您的 IAM policy 必须允许 s3express:CreateSession 操作,这样才能允许 Athena 调用相应的 API 操作。

注意事项和限制

使用 Athena 查询 S3 Express One Zone 时,请注意以下几点。

  • S3 Express One Zone 桶仅支持 SSE_S3 加密。无论您在工作组设置中选择哪个选项来加密查询结果,Athena 查询结果都将使用 SSE_S3 加密写入。此限制包括 Athena 向 S3 Express One Zone 桶写入数据的所有场景,包括 CREATE TABLE AS(CTAS)和 INSERT INTO 语句。

  • 不支持使用 AWS Glue 爬网程序在 S3 Express One Zone 数据上创建表。

  • 不支持 MSCK REPAIR TABLE 语句。一个解决方法是使用 ALTER TABLE ADD PARTITION

  • S3 Express One Zone 不支持 Apache Iceberg 的表修改 DDL 语句(即,没有 ALTER TABLE 语句)。

  • 不支持以下文件和表格格式或支持受限。如果格式未列出,但受 Athena 支持(例如 Parquet、ORC 和 JSON),则 S3 Express One Zone 存储也支持使用这些格式。

    文件或表格格式 限制
    Apache Avro 不支持
    CloudTrail 日志 不支持
    Apache Hudi 不支持
    Amazon Ion 不支持
    Logstash 日志 不支持
    Apache WebServer 日志 不支持
    Delta Lake 不支持 DDL。有关使用虚拟架构创建 Delta Lake 表的信息,请参阅同步 Delta Lake 元数据。支持对表进行 SELECT 查询。

开始使用

使用 Athena 查询 S3 Express One Zone 数据非常简单。要开始使用,请按照以下过程操作。

使用 Athena SQL 查询 S3 Express One Zone 数据
  1. 将数据转移到 S3 Express One Zone 存储。有关更多信息,请参阅《Amazon S3 用户指南》中的设置对象的存储类

  2. 在 Athena 中使用 CREATE TABLE 语句将数据编入 AWS Glue Data Catalog 目录。有关在 Athena 中创建表的更多信息,请参阅 在 Athena 中创建表CREATE TABLE 语句。

  3. (可选)将 Athena 工作组的查询结果位置配置为使用 Amazon S3 目录桶。与普通桶相比,Amazon S3 目录桶的性能更高,专为需要一致的个位数毫秒延迟的工作负载或性能至关重要的应用程序而设计。有关更多信息,请参阅《Amazon S3 用户指南》中的 Directory buckets overview