将 Amazon Redshift 数据引入 Amazon Glue Data Catalog - Amazon Lake Formation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

将 Amazon Redshift 数据引入 Amazon Glue Data Catalog

您可以使用 Amazon Glue Data Catalog(Data Catalog)管理 Amazon Redshift 数据仓库中的分析数据,以及统一 Amazon S3 数据湖和 Amazon Redshift 数据仓库。Amazon Redshift 是 Amazon Cloud 中的一种完全托管的 PB 级数据仓库服务。Amazon Redshift 数据仓库是一个由称作节点的各种计算资源构成的集合,这些节点已整理到名为集群的组中。每个集群运行一个 Amazon Redshift 引擎并包含一个或多个数据库。

在 Amazon Redshift 中,您可以创建 Amazon Redshift 预置集群和无服务器命名空间,然后将其注册到 Data Catalog。通过这样做,您可以统一 Amazon Redshift 托管存储(RMS)和 Amazon S3 存储桶中的数据,并访问来自兼容 Apache Iceberg 的分析引擎的数据。

通过注册命名空间和集群,您可提供对数据的访问权限,而无需复制或移动数据。有关在 Amazon Redshift 中注册集群和命名空间的更多信息,请参阅将 Amazon Redshift 集群和命名空间注册到 Amazon Glue Data Catalog

在 Amazon Redshift 中,您可以通过数据共享或向 Data Catalog 注册命名空间和集群来执行数据共享。对于在单个数据库对象级别运行的数据共享,您必须为每个表或视图启用共享。相比之下,命名空间发布功能在集群或命名空间级别运行。在 Data Catalog 中注册集群或命名空间时,其中的所有数据库和表都会自动共享,而无需为单个对象配置共享。

在 Data Catalog 中,您可以为每个命名空间或集群创建联合目录。当目录指向 Data Catalog 外部的实体时,该目录称为联合目录。Amazon Redshift 命名空间中的表和视图在 Data Catalog 中作为单个表列出。您可以通过 Lake Formation 与同一个账户或另一个账户中的选定 IAM 主体和 SAML 用户共享联合目录中的数据库和表。您还可以添加行和列筛选表达式,以限制对某些数据的访问。有关更多信息,请参阅Lake Formation 中的数据筛选和单元格级别安全性

Data Catalog 支持三级元数据层次结构,包括目录、数据库和表(和视图)。当您在 Data Catalog 中注册命名空间时,Amazon Redshift 数据层次结构会映射到 Data Catalog 的 3 级层次结构,如下所示:

  • Amazon Redshift 命名空间成为 Data Catalog 中的多级目录。

  • 关联的 Amazon Redshift 数据库在 Data Catalog 中注册为目录。

  • Amazon Redshift 架构成为 Data Catalog 中的数据库。

  • Amazon Redshift 表成为 Data Catalog 中的表。

显示 Amazon Redshift 命名空间和 Data Catalog 之间的目录级映射。

有了这个三级元数据层次结构,您可以在 Data Catalog 中使用三段式命名法“catalog1/catalog2.database.table”来访问 Amazon Redshift 表。此外,数据团队可以在 Data Catalog 账户中保持与 Amazon Redshift 相同的表组织结构。

在 Lake Formation 中,您可以通过 Data Catalog 资源的精细访问控制,安全地管理来自 Amazon Redshift 的数据。通过这种集成,您可以使用通用访问控制机制来管理、保护和查询来自单个目录的分析数据。

有关限制,请参阅将 Amazon Redshift 数据仓库数据引入 Amazon Glue Data Catalog 的限制

主要优势

将 Amazon Redshift 集群和命名空间注册到 Amazon Glue Data Catalog 并统一 Amazon S3 数据湖和 Amazon Redshift 数据仓库中的数据,可以带来以下好处:

  • 统一的查询体验:使用任何与 Apache Iceberg 兼容的查询引擎(例如 Amazon EMR Serverless 和 Amazon Athena)查询您的 Amazon Redshift 托管数据和 Amazon S3 存储桶中的数据,无需移动或复制数据。

  • 跨服务的一致数据访问:在访问来自不同 Amazon 分析服务的相同联合数据来源时,因为已在 Data Catalog 中注册数据来源,所有无需更新数据管道中的数据库和表名称。

  • 精细访问控制:您可以应用 Lake Formation 权限,使用精细访问控制权限来管理对联合数据来源的访问权限。

角色和责任

角色 责任
Amazon Redshift 创建器集群管理员

在 Data Catalog 中注册集群或命名空间。

Lake Formation 数据湖管理员

接受集群或命名空间邀请,创建联合目录,以及向其他主体授予对联合目录的访问权限。

Lake Formation 只读管理员 发现联合目录,查询联合目录中的 Amazon Redshift 表。
数据传输角色

Amazon Redshift 会代表您与 Amazon S3 存储桶进行数据传输。

以下是向用户提供 Amazon Redshift 命名空间访问权限的简要步骤:

  1. 在 Amazon Redshift 中,创建器集群管理员在 Data Catalog 中注册集群或命名空间。

  2. 数据湖管理员接受 Amazon Redshift 创建器集群管理员的命名空间邀请,并在 Data Catalog 中创建联合目录。

    完成此步骤后,您可以在 Data Catalog 中管理 Amazon Redshift 命名空间目录。

  3. 向用户授予对目录、数据库和表的权限。您可以与同一个账户或另一个账户的用户共享整个命名空间目录或表的子集。