- Amazon SageMaker›
- 湖仓架构›
- 常见问题
湖仓架构常见问题
一般性问题
全部打开下一代 Amazon SageMaker 是基于开放的湖仓架构而构建的,与 Apache Iceberg 完全兼容。它统一了 Amazon S3 数据湖(包括 S3 表)和 Amazon Redshift 数据仓库中的所有数据,可帮助在单个数据副本上构建强大的分析和人工智能/机器学习应用程序。通过与运营数据库和应用程序进行零 ETL 集成、与数据来源进行查询联合身份验证以及对远程 Apache Iceberg 表进行目录联合身份验证,连接来自其他来源的数据。通过零 ETL 集成,将来自运营数据库(例如 Amazon DynamoDB、Amazon Aurora MySQL)和应用程序(例如 SAP、Salesforce)的数据近乎实时地传输到您的湖仓中。在 Google BigQuery、Snowflake 等数据来源中,利用联合查询功能,就地访问和查询数据。利用适用于远程 Iceberg 目录的目录联合身份验证,直接从 AWS 分析引擎中访问存储在 S3 中并在 Databricks Unity Catalog、Snowflake Polaris Catalog 和任何自定义 Iceberg-REST 目录中编目的 Iceberg 表。使用所有与 Iceberg 兼容的工具和引擎,灵活地就地访问和查询数据。通过定义集成访问控制机制来保护您的数据,这些控制机制将应用于所有分析和机器学习(ML)工具和引擎。
湖仓架构具有三大优势:
- 统一的数据访问:湖仓统一了 Amazon S3 数据湖(包括 S3 表)和 Amazon Redshift 数据仓库中的数据访问。通过与运营数据库和应用程序进行零 ETL 集成、与数据来源进行查询联合身份验证以及对远程 Apache Iceberg 表进行目录联合身份验证,连接来自其他来源的数据。通过零 ETL 集成,将来自运营数据库(例如 Amazon DynamoDB、Amazon Aurora MySQL)和应用程序(例如 SAP、Salesforce)的数据近乎实时地传输到您的湖仓中。在 Google BigQuery、Snowflake 等数据来源中,利用联合查询功能,就地访问和查询数据。利用目录联合身份验证,直接从 AWS 分析引擎中访问存储在 S3 中并在 Databricks Unity Catalog、Snowflake Polaris Catalog 和任何自定义 Iceberg-REST 目录中编目的 Iceberg 表。
- Apache Iceberg 兼容性:湖仓能够让您灵活地从与 Apache Iceberg 兼容的多种 AWS 服务以及开源和第三方工具和引擎中就地访问和查询所有数据。您可以使用自己选择的分析工具和引擎,例如 SQL、Apache Spark、商业智能(BI)和人工智能/机器学习工具,并使用 Amazon S3 或 Amazon Redshift 中存储的单个数据副本进行协作。
- 安全的数据访问:使用表、列或单元格级的集成式精细访问控制机制来保护数据,并在所有分析工具和引擎中实施这些权限。使用基于标签、基于属性或基于角色的访问策略来满足您的安全要求。无需创建副本即可在组织内共享数据。
Amazon SageMaker 是基于开放式湖仓架构而构建的,这种架构可统一数据资产中的数据。在被称为目录的逻辑容器中,系统会整理来自不同来源的数据。每个目录都代表 Amazon Redshift 数据仓库、S3 数据湖或数据库等来源。您也可以创建新的目录,以便将数据存储到 Amazon S3 或 Redshift 托管式存储(RMS)中。可以直接从 SageMaker 融通式合作开发工作室访问湖仓,并从与 Apache Iceberg 兼容的引擎(例如 Apache Spark、Athena 或 Amazon EMR)访问湖仓中的数据。此外,您还可以使用 SQL 工具来连接到和分析湖仓中的数据。通过定义精细的访问控制机制来保护数据,系统会在访问数据的那些工具和引擎中实施这些控制机制。
功能
全部打开Amazon SageMaker 通过两种功能统一对数据的访问控制:1)湖仓能够让您定义精细权限。这些权限由 Amazon EMR、Athena 和 Amazon Redshift 等查询引擎来实施。2)湖仓能够让您就地访问数据,无需复制数据。您可以在湖仓中维护单一数据副本和一组访问控制策略,从而受益于统一的精细访问控制。
SageMaker 的湖仓架构使用 AWS Glue Data Catalog、Lake Formation 和 Amazon Redshift 中的多个技术目录,提供跨数据湖和数据仓库的统一数据访问。它使用 AWS Glue Data Catalog 和 Lake Formation 来存储表定义和权限。Lake Formation 精细权限适用于湖仓中定义的表。您可以在 AWS Glue Data Catalog 中管理表定义,并定义精细权限(例如表级、列级和单元格级权限),以便保护您的数据。此外,使用跨账户数据共享功能,您可以启用零拷贝数据共享,以便能够利用数据安全地进行协作。
是的。访问湖仓时,需要使用开源 Apache Iceberg 客户端库。当使用第三方或自主管理的开源引擎(例如 Apache Spark 或 Trino)时,客户需要在他们的查询引擎中包含 Apache Iceberg 客户端库,才能访问湖仓。
可以。使用 Apache Iceberg 客户端库,您可以从 AWS 服务(例如 Amazon EMR、AWS Glue、Athena 和 Amazon SageMaker)或第三方 Apache Spark 上的 Apache Spark 引擎读取数据,并将数据写入到现有的 Amazon Redshift。不过,您必须对表拥有适当的写入权限,才能向表中写入数据。
可以。您可以使用自己选择的引擎(例如 Apache Spark),在多个数据库中将 Amazon S3 上的数据湖表与 Amazon Redshift 数据仓库中的表进行联接。
Amazon S3 表类数据存储服务现已与 SageMaker 智能湖仓无缝集成,可让您轻松查询 S3 表,并将它们与 S3 数据湖、Amazon Redshift 数据仓库和第三方数据来源中的数据联接。借助 SageMaker 智能湖仓,您可以使用 Apache Iceberg 开放标准,灵活地就地访问和查询 S3 表、S3 存储桶和 Redshift 数据仓库中的数据。您可以定义精细权限(这些权限会一致地应用于所有分析以及机器学习工具和引擎),以便保护和集中管理湖仓中的数据。
零 ETL 集成
全部打开SageMaker 的湖仓支持与 Amazon DynamoDB、Amazon Aurora MySQL、Amazon Aurora PostgreSQL 和 Amazon RDS MySQL 进行零 ETL 集成,还支持 SAP、Salesforce、Salesforce Pardot、ServiceNow、Facebook 广告、Instagram 广告、Zendesk 和 Zoho CRM 这八个应用程序。
您可以通过 AWS Glue 控制台配置和监控零 ETL 集成。摄取数据之后,您可以访问和查询与 Apache Iceberg 兼容的查询引擎中的数据。有关更多详细信息,请访问零 ETL 集成。
要详细了解零 ETL 定价,请访问 SageMaker 的湖仓和 AWS Glue 定价页面。
定价
全部打开请访问 SageMaker 湖仓定价页面了解详情。
可用性
全部打开下一代的 Amazon SageMaker 已在以下区域中推出:美国东部(弗吉尼亚州北部)、美国东部(俄亥俄州)、美国西部(俄勒冈州)、亚太地区(香港)、亚太地区(首尔)、亚太地区(新加坡)、亚太地区(悉尼)、亚太地区(东京)、加拿大(中部)、欧洲地区(法兰克福)、欧洲地区(爱尔兰)、欧洲地区(伦敦)、欧洲地区(斯德哥尔摩)和南美洲(圣保罗)。有关未来更新,请查看 AWS 区域服务列表。
是的。湖仓将元数据存储在 AWS Glue Data Catalog 中,并提供与 Amazon Glue 相同的 SLA。
开始使用
全部打开可以从 Amazon SageMaker 融通式合作开发工作室访问 SageMaker 中的湖仓。从 SageMaker 融通式合作开发工作室中,您可以创建一个新项目,也可以选择一个现有项目。从您的项目中,单击左侧导航窗格中的“数据”,以便查看“数据”资源管理器面板。使用“数据”资源管理器面板,您可以查看湖仓中您有权访问的数据。为了帮助您开始使用,您的项目会自动创建一个默认的 S3 托管式目录,您可以在其中向湖仓添加新的数据文件。此外,从“数据”资源管理器面板中单击(+)“添加数据”时,您可以在 Redshift 托管式存储中创建其他的托管式目录以便继续构建您的湖仓,也可以连接到联合数据来源,还可以向托管式目录上传数据。
如果已经拥有数据库和目录,您可以使用 AWS Lake Formation 向您的项目角色授予权限,以便将它们添加到湖仓中。例如,您可以向 Glue Data Catalog 注册 Redshift 集群或无服务器命名空间,以便将 Amazon Redshift 数据仓库迁移到湖仓。随后,您可以接受集群或命名空间邀请,并在 Lake Formation 中授予相应的权限,以便能够访问它。
否,您不必迁移数据。SageMaker 的湖仓架构能够让您使用 Apache Iceberg 的开放标准,就地访问和查询数据。您可以直接访问 Amazon S3 数据湖、S3 表和 Amazon Redshift 数据仓库中的数据。您也可以连接到联合数据来源,例如 Snowflake 和 Google BigQuery 数据仓库,以及 PostgreSQL 和 SQL Server 等运营数据库。通过零 ETL 集成,可以将运营数据库和第三方应用程序中的数据近实时地传输到湖仓中的托管式目录中,而无需维护基础设施或复杂的管道。除此之外,您还可以使用数百个 AWS Glue 连接器与现有的数据来源集成。
要将您的 Amazon Redshift 数据仓库迁移到 Amazon SageMaker 中的湖仓,请转到 Redshift 管理控制台,并通过“操作”下拉菜单将 Redshift 集群或无服务器命名空间注册到 Glue Data Catalog。随后,您可以转到 Lake Formation,接受集群或命名空间邀请以便创建一个联合目录,并授予相应的权限,以便能够在湖仓中访问此目录。此处的文档中提供了相关说明。也可以使用 AWS 命令行界面(AWS CLI)或 API/软件开发工具包来执行这些任务。
要将 S3 数据湖迁移到 Amazon SageMaker 中的湖仓,您必须首先按照此处的说明,在 AWS Glue Data Catalog 中对您的 S3 数据湖进行编目。使用 AWS Glue Data Catalog 对您的 Amazon S3 数据湖进行编目之后,即可在湖仓中访问您的数据。在 AWS Lake Formation 中,您可以向融通式合作开发工作室项目角色授予权限,以便能够在 SageMaker 融通式合作开发工作室中使用 S3 数据湖。
Amazon SageMaker 的湖仓架构可以统一访问 Amazon S3 数据湖、Amazon Redshift 数据仓库和第三方数据来源中的所有数据。Amazon S3 表类数据存储服务提供了首款内置 Apache Iceberg 支持的云对象存储功能。Amazon SageMaker 的湖仓与 Amazon S3 表类数据存储服务集成,这样,您就可以从多种 AWS 分析服务来访问 S3 表,这些分析服务包括 Amazon Redshift、Amazon Athena、Amazon EMR、AWS Glue 或者兼容 Apache Iceberg 的引擎(Apache Spark 或 PyIceberg)等等。湖仓还支持集中管理 S3 表和其他数据的精细数据访问权限,并将它们一致地应用于所有引擎。
要开始使用,请导航到 Amazon S3 控制台,并启用 S3 表存储桶与 AWS 分析服务的集成。启用集成之后,导航到 AWS Lake Formation,以便授权您的 S3 表存储桶使用 SageMaker 融通式合作开发工作室项目角色。随后,您可以使用 SageMaker 融通式合作开发工作室中的集成分析服务来查询和分析 S3 表中的数据。您甚至可以将来自 Amazon S3 表类数据存储服务的数据与其他来源联接,这些来源包括 Amazon Redshift 数据仓库、第三方和联合数据来源(Amazon DynamoDB、Snowflake 或 PostgreSQL)等等。
可以直接从 Amazon SageMaker 融通式合作开发工作室访问湖仓。SageMaker 融通式合作开发工作室提供了综合性的体验,能够让您访问来自湖仓的全部数据,并使用熟悉的 AWS 工具将这些数据用于模型开发、生成式人工智能、数据处理和 SQL 分析等用途。要开始使用,您可以转到 SageMaker 融通式合作开发工作室,使用企业凭证登录到 SageMaker 域。在 SageMaker 融通式合作开发工作室中,只需简单几步,管理员即可通过选择特定的项目配置文件来创建项目。随后,您可以选择一个项目,以便使用湖仓中的数据。选择项目之后,您可以在“数据”资源管理器面板中统一查看湖仓中的数据,并在一个位置访问查询引擎和开发人员工具。
借助 SageMaker 的开放式湖仓架构,您还可以灵活地使用所有与 Apache Iceberg 兼容的工具和引擎来访问和查询数据。您可以使用自己选择的分析工具和引擎,例如 SQL、Apache Spark、商业智能(BI)和人工智能/机器学习工具,并使用湖仓中存储的数据进行协作。
可以。借助 SageMaker 的开放式湖仓架构,您可以灵活地使用所有与 Apache Iceberg 兼容的工具和引擎来访问和查询数据。您可以使用自己选择的分析工具和引擎,例如 SQL、Apache Spark、商业智能(BI)和人工智能/机器学习工具,并使用湖仓中存储的数据进行协作。