查询 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 对象上调用
GET
、LIST
或PUT
等操作时,存储类会代表您调用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 数据
-
将数据转移到 S3 Express One Zone 存储。有关更多信息,请参阅《Amazon S3 用户指南》中的设置对象的存储类。
-
在 Athena 中使用 CREATE TABLE 语句将数据编入 AWS Glue Data Catalog 目录。有关在 Athena 中创建表的更多信息,请参阅 在 Athena 中创建表 和 CREATE TABLE 语句。
-
(可选)将 Athena 工作组的查询结果位置配置为使用 Amazon S3 目录桶。与普通桶相比,Amazon S3 目录桶的性能更高,专为需要一致的个位数毫秒延迟的工作负载或性能至关重要的应用程序而设计。有关更多信息,请参阅《Amazon S3 用户指南》中的 Directory buckets overview。