创建元数据表配置
要生成 Amazon S3 元数据并将其存储在完全托管式 Apache Iceberg 元数据表中,您需要为通用存储桶创建元数据表配置。只要存储桶上的配置处于活动状态,Amazon S3 就会持续更新元数据表以反映对数据的最新更改。此外,Amazon S3 会持续优化您的元数据表,以有助于降低存储成本并提高分析查询性能。
元数据表具有以下 Amazon 资源名称(ARN)格式:
arn:aws:s3tables:
region-code
:account-id
:bucket/table-bucket-name
/table/metadata_table_name
Amazon S3 完全托管式元数据表存储在表存储桶的 aws_s3_metadata
命名空间中。有关表存储桶中命名空间的更多信息,请参阅表命名空间。
您可以使用 Amazon S3 控制台、Amazon Command Line Interface(Amazon CLI)、Amazon SDK 或 Amazon S3 REST API 创建元数据表配置。
先决条件
要创建元数据表配置,您必须先执行以下操作:
-
确保您拥有创建和管理元数据表所必需的 Amazon Identity and Access Management(IAM)权限。有关更多信息,请参阅 为配置元数据表设置权限。
-
创建一个 S3 表存储桶来存储元数据表。此表存储桶必须与通用存储桶位于相同的 Amazon Web Services 区域和 Amazon Web Services 账户中。有关创建表存储桶的更多信息,请参阅创建表存储桶。如果您使用 Amazon S3 控制台来创建配置,则可以在此过程中执行此步骤。
-
将您的表存储桶与 Amazon Glue Data Catalog 集成,这样您就可以使用 Amazon Athena、Amazon EMR、Amazon Redshift、Apache Spark 和 Apache Trino 等查询引擎以及任何其它支持 Apache Iceberg 格式的应用程序直接查询元数据表。有关更多信息,请参阅 使用 Amazon 分析服务查询元数据表。
创建元数据表配置
创建元数据表配置
在创建元数据表配置之前,请确保您已查看并满足先决条件,并且已经查看了元数据表限制和局限性。
登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/
。 -
在左侧导航窗格中,选择通用存储桶。
-
选择要为其创建元数据表配置的通用存储桶。
注意
请确保此通用存储桶位于表存储桶可用的 Amazon Web Services 区域。表存储桶仅在美国东部(弗吉尼亚州北部)、美国东部(俄亥俄州)和美国西部(俄勒冈州)区域中提供。
-
在存储桶详细信息页面上,选择元数据选项卡。
-
在元数据选项卡上,选择创建元数据配置。
-
在创建元数据配置页面的目标表存储桶下,指定用于存储元数据表的表存储桶。表存储桶必须与通用存储桶位于相同的 Amazon Web Services 账户和 Amazon Web Services 区域中。
如果您还没有表存储桶,选择创建表存储桶。表存储桶名称必须为 3 到 63 个字符,并且在您选择的 Amazon Web Services 区域的 Amazon Web Services 账户中是唯一的。有效字符:a-z、0-9 和连字符(-)。有关创建表存储桶的更多信息,请参阅创建表存储桶。
在创建表存储桶时,请确保将其与 Amazon Glue Data Catalog 集成。有关更多信息,请参阅 使用 Amazon 分析服务查询元数据表。
-
对于元数据表名称,指定您希望表具有的名称。元数据表名称必须介于 1 到 255 个字符之间,并且在表存储桶的
aws_s3_metadata
命名空间中是唯一的。有效的字符为小写字母、数字和下划线 (_
)。 -
选择创建元数据表配置。
如果元数据表配置取得成功,则元数据表的 ARN 以及指定的表存储桶和元数据表名称将显示在元数据选项卡上。
要监控对元数据表配置的更新,可以使用 Amazon CloudTrail。有关更多信息,请参阅 CloudTrail 日志记录跟踪的 Amazon S3 存储桶级操作。
要运行以下命令,您必须安装并配置 Amazon CLI。如果未安装 Amazon CLI,请参阅《Amazon Command Line Interface 用户指南》中的安装或更新最新版本的 Amazon CLI。
或者,可以从控制台中使用 Amazon CloudShell 运行 Amazon CLI 命令。Amazon CloudShell 是一个基于浏览器、预先经过身份验证的 Shell,您可以直接从 Amazon Web Services Management Console中启动它。有关更多信息,请参阅《Amazon CloudShell 用户指南》中的 What is CloudShell? 和 Getting started with Amazon CloudShell。
使用 Amazon CLI 创建元数据表配置
在创建元数据表配置之前,请确保您已查看并满足先决条件,并且已经查看了元数据表限制和局限性。
要使用以下示例命令,请将
替换为您自己的信息。user input
placeholders
-
如果您还没有表存储桶,请使用以下命令创建一个用于存储元数据表的表存储桶。确保表存储桶与您要为其创建元数据表配置的通用存储桶位于同一 Amazon Web Services 区域中。
aws s3tables create-table-bucket --name
amzn-s3-demo-bucket
--regionus-east-2
-
要验证表存储桶是否已创建,请使用以下命令:
aws s3tables list-table-buckets --region
us-east-2
-
创建包含元数据表配置的 JSON 文件并将其保存(例如
metadata-config.json
)。以下是一个示例配置:表存储桶名称必须为 3 到 63 个字符,并且在您选择的 Amazon Web Services 区域的 Amazon Web Services 账户中是唯一的。有效字符:a-z、0-9 和连字符(-)。有关创建表存储桶的更多信息,请参阅创建表存储桶。
元数据表名称必须介于 1 到 255 个字符之间,并且在表存储桶的
aws_s3_metadata
命名空间中是唯一的。有效的字符为小写字母、数字和下划线 (_
)。{ "S3TablesDestination": { "TableBucketArn": "arn:aws:s3tables:
us-east-2
:111122223333
:bucket/amzn-s3-demo-bucket
", "TableName": "test_metadata_table
" } } -
使用以下命令将元数据表配置应用于通用存储桶(例如
):amzn-s3-demo-source-bucket
aws s3api create-bucket-metadata-table-configuration \ --bucket
\ --metadata-table-configuration file://./amzn-s3-demo-source-bucket
metadata-config
.json \ --regionus-east-2
-
要验证配置是否已创建,请使用以下命令:
aws s3api get-bucket-metadata-table-configuration \ --bucket
\ --regionamzn-s3-demo-source-bucket
us-east-2
要监控对元数据表配置的更新,可以使用 Amazon CloudTrail。有关更多信息,请参阅 CloudTrail 日志记录跟踪的 Amazon S3 存储桶级操作。
可以发送 REST 请求来创建元数据表配置。有关更多信息,请参阅《Amazon S3 API 参考》中的 CreateBucketMetadataTableConfiguration。
可以使用 Amazon SDK 在 Amazon S3 中创建元数据表配置。有关信息,请参阅《Amazon S3 API Reference》中的 list of supported SDKs。