在中创建 Amazon S3 表目录 AWS Glue Data Catalog - AWS Lake Formation

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在中创建 Amazon S3 表目录 AWS Glue Data Catalog

该功能为预览版,可能会发生变化。有关更多信息,请参阅 AWS 服务条款文档中的“测试版和预览”部分。

Amazon S3 表提供专门针对分析工作负载进行优化的 S3 存储,在提高查询性能的同时降低成本。S3 表内置支持 Apache Iceberg 标准,允许您使用 Apache Spark 等常用查询引擎轻松查询 Amazon S3 表存储桶中的表格数据。

现在,您可以从 Lake Formation 控制台或使用服务将 S3 表作为 AWS Glue Data Catalog 对象进行发布和编目,并将该目录注册为 Lake Formation 数据位置 APIs。有关更多信息,请参阅《亚马逊简单存储服务用户指南》中的将 Amazon S3 表与 AWS 分析服务配合使用

先决条件
  1. 数据湖管理员或具有CREATE_CATALOG权限的 IAM 委托人可以从 Lake Formation 控制台完成一键集成。

  2. 为访问您的 S3 表存储桶的 Lake Formation 数据创建一个 IAM 角色。向 Lake Formation 注册表存储桶时使用的 IAM 角色需要以下权限:

    { "Action": [ "s3tables:ListTableBuckets", "s3tables:CreateTableBucket", "s3tables:GetTableBucket", "s3tables:CreateNamespace", "s3tables:GetNamespace", "s3tables:ListNamespaces", "s3tables:DeleteNamespace", "s3tables:DeleteTableBucket", "s3tables:CreateTable", "s3tables:DeleteTable", "s3tables:GetTable", "s3tables:ListTables", "s3tables:RenameTable", "s3tables:UpdateTableMetadataLocation", "s3tables:GetTableMetadataLocation", "s3tables:GetTableData", "s3tables:PutTableData" ], "Resource": "arn:aws:s3tables:us-east-1:123456789012:bucket/*", "Effect": "Allow" }

    有关更多信息,请参阅 用于注册位置的角色的要求

  3. 向 IAM 角色添加以下信任策略,以允许 Lake Formation 服务担任该角色并向集成分析引擎提供临时证书。

    { "Effect": "Allow", "Principal": { "Service": "lakeformation.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:SetContext" # add action to trust relationship when using IAM Identity center principals with Lake Formation ] }
将 Amazon S3 表格与 AWS Glue Data Catalog (控制台)集成
  1. 打开 Amazon S3 控制台,网址为 https://console.aws.amazon.com/s3/

  2. 使用 Amazon S3 控制台创建 Amazon S3 表存储桶,并将其与 AWS 分析服务集成。有关更多信息,请参阅将 Amazon S3 表与 AWS 分析服务配合使用

  3. 打开 Lake Formation 控制台,网址为https://console.aws.amazon.com/lakeformation/

  4. 在导航窗格中,选择数据目录下的目录

  5. 目录页面上选择 S3 表集成

  6. 选择一个 IAM 角色让 Lake Formation 担任向分析查询引擎提供证书。

    使用 IAM 角色启用 S3 集成屏幕。
  7. 请选择启用。S3 表的新目录已添加到目录列表中。

  8. 选择目录以查看目录对象并向其他委托人授予权限。

    S3 表目录
创建 S3 表目录 (CLI)
  1. 创建目录。

    aws glue create-catalog --cli-input-json file://input.json '{ "Name": "s3tablescatalog", "CatalogInput" : { "FederatedCatalog": { "Identifier": "arn:aws:s3tables:us-east-1:123456789012:bucket/*", "ConnectionName": "aws:s3tables" }, "CreateDatabaseDefaultPermissions": [], "CreateTableDefaultPermissions": [] } }'
  2. 将 S3 表目录注册为 Lake Formation 数据位置。

    aws lakeformation register-resource \ --resource-arn 'arn:aws:s3tables:us-east-1:123456789012:bucket/*' \ --role-arn 'arn:aws:iam::123456789012:role/LakeFormationDataAccessRole' \ --with-federation