返回

SageMaker Unified Studio治理Snowflake数据

RSS AWS Big Data Blog AI 逐段翻译 发布 2026-09-16 23:19 收录于 09-19

有效阅读仅保存在当前浏览器,用于「为你」推荐;暂停或清除记录。

DataHot 速览

AWS 官方博客介绍如何通过 Amazon SageMaker Unified Studio 将 Snowflake 数据联邦接入 AWS Glue,并在 SageMaker Catalog 中注册、查询和治理。用户无需迁移或复制数据,即可用 AWS Glue Visual ETL 配置数据质量规则并发布带质量评分的资产。传统编目 Snowflake 数据需要构建抽取管道、耗时数天,该集成可将查询、编目和质量校验缩短到 5–15 分钟。该方案适合混合云数据环境,旨在减少治理缺口、发现摩擦和重复工作。

为什么值得关注:面向混合云数据治理和数据发现,展示了跨 Snowflake/AWS 的联邦编目与质量校验落地方式;对需要打通多云资产、减少复制和自定义 ETL 的数据平台团队有参考价值。

本文目录 20 节
  1. 解决方案概述
  2. 先决条件
  3. AWS Glue 作业角色所需的 IAM 策略
  4. 将 AWS Glue 作业角色配置为 Amazon SageMaker 域用户
  5. 项目级权限
  6. 从 Amazon SageMaker Unified Studio 查询 Snowflake 数据集
  7. 在 Snowflake 中识别信息
  8. 在 Amazon SageMaker Unified Studio 中创建连接
  9. 联合查询的工作原理
  10. 将 Snowflake 数据集发布到 SageMaker Catalog
  11. 在 SageMaker Catalog 中创建数据资产
  12. 使用 AWS Glue Data Quality 实施数据质量规则
  13. 设置自定义转换
  14. 创建 AWS Glue 可视 ETL 作业
  15. 建立 Snowflake 连接
  16. 应用数据质量规则
  17. 将数据质量结果发布到 Amazon SageMaker Catalog
  18. 在 SageMaker Catalog 中可视化数据质量结果
  19. 清理
  20. 结论

译文

AI 逐段翻译

许多组织在混合数据环境中运营,关键资产位于 Snowflake 中,而分析工作负载在 AWS 上运行,当两者未连接时,这可能会造成治理缺口、发现摩擦和重复努力。

使用 Amazon SageMaker Unified Studio,你可以通过其 集成目录 和 AWS Glue Data Quality(AWS Glue 的一项功能)跨 Snowflake 和 AWS 治理数据。你可以直接连接到 Snowflake 表而无需移动数据,使用 AWS Glue Visual ETL 应用质量规则,并将验证后的资产发布到 Amazon SageMaker Catalog,从而在整个分布式数据资产中保持一致治理。

如果没有此集成,编目 Snowflake 数据需要构建提取管道,通常需要数天。通过将 SageMaker Unified Studio 连接到 Snowflake,你可以在 5–15 分钟内查询、编目和验证联邦数据的质量。无需数据复制或自定义 ETL 代码。

在这篇文章中,我们将向你展示如何将 Snowflake 连接到 Amazon SageMaker Unified Studio、在 Amazon SageMaker Catalog 中注册数据资产、使用 AWS Glue Visual ETL 配置数据质量验证,以及发布资产以实现统一协作。通过遵循这些步骤,你可以为联邦资产添加数据质量分数,以便组织中的使用者可以发现并信任这些数据,同时将其保留在 Snowflake 中。

解决方案概述

此解决方案将 Snowflake 与 Amazon SageMaker Unified Studio 集成,以实现集中式数据编目和质量验证。

该架构使用 AWS Glue 连接将 Snowflake 目录联合到 Amazon SageMaker Unified Studio 中。表无需复杂的存储配置即可在项目目录中使用。你可以使用 SQL 分析直接查询数据,将数据集发布到 Amazon SageMaker Catalog 以供组织范围内发现,并通过 AWS Glue Visual ETL 管道应用数据质量规则。

该工作流包含以下步骤:

架构图:Snowflake 通过 AWS Glue 联合到 SageMaker Unified Studio,并带有数据质量验证和发布到 SageMaker Catalog

图 1:将 Snowflake 联合到 SageMaker Unified Studio 并验证数据质量的架构

  1. 在 Amazon SageMaker Unified Studio 上创建 Snowflake 连接 — Amazon SageMaker Unified Studio 使用 AWS Glue 连接将 Snowflake 表和视图联合到其开放数据湖仓架构中。联邦目录条目注册在 AWS Glue Data Catalog 中,并由 AWS Lake Formation 管理以实现集中访问控制,而无需将数据移出 Snowflake。
  2. 将 Snowflake 表联合到 Amazon SageMaker 发布者项目 — Amazon SageMaker 发布者项目通过 AWS Glue Data Catalog 集成发现联邦 Snowflake 表。
  3. 将数据集发布到 Amazon SageMaker Catalog — 发布者项目将数据集作为受治理资产发布到 Amazon SageMaker Catalog,使其可被组织中的数据使用者发现。
  4. 验证数据质量 — AWS Glue Data Quality 对联邦 Snowflake 数据运行验证规则,并将数据质量结果直接发布到 Amazon SageMaker Catalog 中的相应资产。
  5. 发布者项目用户 — 使用 SQL Analytics 查询数据 — 发布者项目中的用户可以使用 Amazon SageMaker Unified Studio SQL Analytics 直接查询 Snowflake 数据以进行交互式探索和分析,而无需复制或移动数据。
  6. 消费者项目用户 — 通过 SageMaker Catalog 发现和订阅 — 其他 Amazon SageMaker 消费者项目在 Amazon SageMaker Catalog 中发现已发布的资产,订阅它,并将数据用于其分析和机器学习工作负载。

先决条件

要跟随操作,你需要:

  • 一个具有管理员访问权限的有效 Snowflake 账户。
  • 在 Snowflake 数据库内的架构中创建的表或视图。
  • 一个 Amazon SageMaker Unified Studio 和 项目 已创建。
  • 一个 Amazon Simple Storage Service (Amazon S3) 存储桶 用于 AWS Glue 资产。
  • 已配置适当的 AWS Identity and Access Management (IAM) 权限(Amazon SageMaker Catalog 构建在 Amazon DataZone 之上,因此 IAM 操作使用 datazone: 前缀。)

你的 AWS Glue 作业执行角色需要特定权限才能与 Amazon SageMaker Catalog 交互。

AWS Glue 作业角色所需的 IAM 策略

1. Amazon SageMaker Catalog 搜索和列出权限: 附加一个策略,允许 AWS Glue 作业搜索和列出 Amazon SageMaker Catalog 中的资产。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "datazone:SearchListings",
        "datazone:GetListing",
        "datazone:ListDomains",
        "datazone:GetDomain"
      ],
      "Resource": "arn:aws:datazone:<REGION>:<ACCOUNT_ID>:domain/<DOMAIN_ID>"
    }
  ]
}

2. Amazon SageMaker Catalog 时间序列数据发布权限: 添加发布数据质量指标的权限:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "datazone:PostTimeSeriesDataPoints",
        "datazone:GetAsset",
        "datazone:ListAssetRevisions"
      ],
      "Resource": "arn:aws:datazone:<REGION>:<ACCOUNT_ID>:domain/<DOMAIN_ID>"
    }
  ]
}

将 AWS Glue 作业角色配置为 Amazon SageMaker 域用户

将你的 AWS Glue 作业所使用的 IAM 角色配置为域用户。在 Amazon SageMaker 控制台中,导航到你的域,选择访问管理,并将 AWS Glue 作业执行 IAM 角色添加为域用户。

项目级权限

将 AWS Glue 作业执行角色添加为具有所有者权限的项目成员。导航到你的项目,转到 项目设置 > 成员,并添加该角色。

有关 AWS Glue 的 IAM 角色的更多信息,请参阅 AWS Glue 安全文档。有关 Amazon SageMaker Unified Studio 权限,请参阅 Amazon SageMaker Unified Studio 管理员指南。

从 Amazon SageMaker Unified Studio 查询 Snowflake 数据集

以下部分将引导你完成将 Snowflake 连接到 Amazon SageMaker Unified Studio 并运行数据质量验证,结果显示在 Amazon SageMaker Catalog 中。

在 Snowflake 中识别信息

首先,收集你的 Snowflake 连接详细信息。你需要一个 Snowflake 账户,其中在数据库内的架构级别创建了表或视图。

要获取 Snowflake 连接信息:

用于管理员凭据的 Snowflake 登录屏幕
  1. 导航到你的 Snowflake 环境并使用管理员凭据登录。
  2. 选择你的用户账户,然后选择 将工具连接到 Snowflake。
  3. 记下屏幕上显示的账户/服务器 URL。
  4. 选择 Config File 选项卡,为 Warehouse、Database 和 Schema 选择值,并复制这些值以供下一部分使用。

在 Amazon SageMaker Unified Studio 中创建连接

Add Connection 功能存储 Snowflake 连接详情,包括凭证、服务器和数据库信息。Amazon SageMaker Unified Studio 使用此连接通过 AWS Glue 联合 Snowflake 目录,因此您可以在设置后几分钟内查询数据。

您需要一个 Amazon SageMaker Unified Studio 域和一个项目,该项目充当数据生产者项目。

要创建 Snowflake 连接:

SageMaker Unified Studio 项目 Overview 页面
SageMaker Unified Studio 项目导航中的 Data 选项
SageMaker Unified Studio 中带有 Add Connection 选项的 Add 菜单
SageMaker Unified Studio 中的 Add Connection 面板
SageMaker Unified Studio 中显示 Snowflake 的连接类型选择
  1. 在您的 Amazon SageMaker Unified Studio 项目中,转到 Overview。
  2. 选择 Data。
  3. 选择 + Add,然后选择 Add Connection。
  4. 选择 Next。
  5. 选择 Snowflake 并选择 Next。
  6. Name: snowflake-connection。
  7. Description(可选): 为您的连接输入描述。
  8. Host: 您的 Snowflake 账户 URL(例如,XXXXXXXXX-XXX000000.snowflakecomputing.com)。
  9. Port: 443。
  10. Database: 您的数据库名称(例如,sm_demo)。
  11. Warehouse: 您的仓库名称(例如,COMPUTE_WH)。
  12. Schema: 您的架构名称(例如,demo)。
  13. Register in AWS Glue Data Catalog: 打开复选框。
  14. Case conflict handling: 根据 Snowflake 命名语法选择选项。

Authentication:

  • Username: 您的 Snowflake 用户名。
  • Password: 您的 Snowflake 密码。
Snowflake 连接详情表单,包含名称、主机、端口、数据库、仓库和架构字段
显示身份验证和 AWS Glue Data Catalog 注册选项的连接表单

选择 Add Data。创建连接后,等待几分钟以建立联合连接。在 Amazon SageMaker Unified Studio 中搜索数据库和已创建的对象。

在建立 Snowflake 连接并在 AWS Glue Catalog 中注册联合表后,您现在可以直接从 Amazon SageMaker Unified Studio 查询 Snowflake 数据,无需移动或复制任何数据。

联合查询的工作原理

当您在 Amazon SageMaker Unified Studio 查询编辑器中针对联合 Snowflake 表运行查询时,Amazon Athena 会执行该请求。Athena 是集成到 Amazon SageMaker Unified Studio 中的底层查询引擎。Athena 从 AWS Glue Catalog 读取表定义,通过已建立的连接连接到 Snowflake,并将查询下推以执行。Athena 将结果直接返回到查询编辑器,而 Snowflake 就地处理数据,只有查询结果通过连接传输。Amazon SageMaker Unified Studio 不会将数据复制到 S3 或任何中间存储。

在验证查询返回预期结果后,下一步是将此数据集发布到 Amazon SageMaker Catalog,使其在您的组织内可发现和共享。

将 Snowflake 数据集发布到 SageMaker Catalog

现在您的 Snowflake 连接已配置,您可以将数据集发布到 Amazon SageMaker Catalog,使其在您的组织内可发现和共享。

在 SageMaker Catalog 中创建数据资产

Amazon SageMaker Catalog 中的数据资产是您数据资源的编目表示。它们帮助团队在您的组织内发现、治理和共享数据。

在本部分中,您将创建一个与 Snowflake 表关联的数据资产。此过程将技术性 Snowflake 表转换为经过编目并富含业务元数据的资源。

要创建数据源:

  1. 在您的 Amazon SageMaker Unified Studio 项目中,转到 Manage。
  2. 选择 Data Sources。
  3. 选择 Create Data Source。
  4. 选择 AWS Glue 选项。
  5. 打开 Import data lineage 复选框并选择连接:project.default_lakehouse。
  6. Catalog: 选择 Enter the catalog name 并输入 snowflake-connection。
  7. Database name: 输入您的数据库名称(例如,movies)。
  8. Table selection criteria: 输入 * 表示数据库中的所有表,或输入特定表名称。

保留默认选项并选择 Next,直到到达摘要屏幕。

检查您的设置并选择 Create。要提取元数据并发布资产:

  1. 选择 Run 以开始从 AWS Glue Data Catalog 提取元数据。
  2. 等待运行完成。
  3. 转到 Assets 以查看资产清单。

以下截图显示数据源运行完成后的资产清单。

  1. 选择一个资产以查看其详情。

此时,您可以通过选择 Generate Descriptions 来丰富业务上下文。Amazon SageMaker Catalog 分析资产的技术结构并生成:

  • 资产的自然语言业务描述。
  • 每个字段/列的上下文定义。
  • 可以应用的建议词汇表术语。
  1. 在你的资产通过必要的业务元数据完成丰富后,你可以通过选择 发布资产 将其发布到 Amazon SageMaker Catalog。

现在,组织内的数据消费者可以使用这个已丰富的 Snowflake 资产。其他用户可以无需数据复制即可发现、订阅和使用它。

使用 AWS Glue Data Quality 实施数据质量规则

本节介绍如何使用 AWS Glue Data Quality 对 Snowflake 数据应用数据质量验证,并在 Amazon SageMaker Catalog 中可视化结果。

设置自定义转换

将两个文件上传到与运行 AWS Glue 相同的 AWS 账户中的 Amazon S3 存储桶:

将这两个文件复制到你的 AWS Glue 资产 S3 存储桶中的 transforms 文件夹(s3://aws-glue-assets-<account-id>-<region>/transforms)。AWS Glue Studio 会读取此文件夹中的所有 JSON 文件以注册自定义可视转换。

在以下各节中,我们将引导你完成使用 AWS Glue Studio 构建用于数据质量验证的 ETL 管道的步骤。

创建 AWS Glue 可视 ETL 作业

AWS Glue for Spark 提供对从 Snowflake 数据源读取的内置支持。

要创建新的可视 ETL 作业:

  1. 打开 AWS Glue 控制台,网址为 https://console.aws.amazon.com/glue/。选择 ETL 作业,然后选择 可视 ETL。

建立 Snowflake 连接

要添加 Snowflake 源:

  1. 在作业窗格中,选择 Snowflake 作为源。对于 Snowflake 连接,选择你之前创建的连接。指定用于数据质量检查的相关架构和表。

可视编辑器会显示数据源属性面板,你可以在其中选择连接、数据库,并输入针对 Snowflake 表的自定义查询。

应用数据质量规则

建立 Snowflake 连接后,使用数据质量定义语言(DQDL)配置数据质量评估步骤。

要添加数据质量验证:

  1. 选择 转换,然后选择 评估数据质量。
  2. 使用 DQDL 定义特定领域的数据质量规则。有关更多信息,请参阅 AWS DQDL 文档。
  3. 选择输出数据质量结果。可选地,将结果存储到 Amazon S3 或发布到 Amazon CloudWatch 并发送告警通知。

ruleOutcomes 节点的数据质量结果预览显示了每条规则的结果。

将数据质量结果发布到 Amazon SageMaker Catalog

要配置自定义转换:

  1. 将 Datazone DQ Result Sink 转换添加到你的作业。
  2. 将 ruleOutcomes 节点的输出连接到此转换。
  3. 要担任的角色(可选):仅关联账户需要。
  4. 域 ID:你的 Amazon SageMaker Unified Studio 域 ID(可在 Amazon SageMaker Unified Studio 门户中找到)。
  5. 表名和架构名: 与创建 Snowflake 源转换时使用的值相同。
  6. 数据质量规则集名称: 你希望在 Amazon SageMaker Catalog 中为规则集指定的名称。
  7. 最大结果数: 在存在多个匹配项时要返回的最大资产数。

下图显示了配置了 Datazone DQ Result Sink 转换的完整作业图。

可视编辑器显示四个按顺序连接的节点:Snowflake 数据源、评估数据质量转换、ruleOutcomes SelectFromCollection 转换和 Datazone DQ Result Sink 转换。

要配置作业参数:

  1. 选择 作业详细信息。
  2. --additional-python-modules
  3. boto3>=1.34.105

保存并运行作业。

在 SageMaker Catalog 中可视化数据质量结果

AWS Glue ETL 作业完成后,你可以直接在 Amazon SageMaker Catalog 中查看数据质量信息。这是对联合源运行数据质量的关键成果:资产无需离开 Snowflake 即可获得质量评分和元数据。这使得它值得信赖,并可供组织内其他团队使用。数据消费者现在可以在 Amazon SageMaker Catalog 中发现此资产,并在订阅前评估其质量,而无需直接访问 Snowflake 或运行自己的验证。

要查看数据质量结果:

  1. 打开 Amazon SageMaker Unified Studio 控制台。
  2. 导航到你的项目。
  3. 转到 资产。
  4. 选择 Snowflake 数据资产。
  5. 查看资产页面上显示的数据质量信息。

下图显示了 Amazon SageMaker Catalog 中的资产页面,其中已填充 数据质量评分。

数据质量选项卡显示总分为 100,并列出规则集 movies 的结果为已通过(1/1)。这确认来自 AWS Glue 的数据质量检查已成功发布到 Amazon SageMaker Catalog。

清理

为避免持续产生费用,请删除你在本演练期间创建的资源:

  1. 删除 AWS Glue ETL 作业 — 打开 AWS Glue 控制台,选择 ETL 作业,选择你的作业,然后选择 删除。
  2. 删除 AWS Glue 连接 — 在 AWS Glue 控制台中,转到 连接,选择 Snowflake 连接,然后选择 删除。
  3. 删除 SageMaker Catalog 中的数据源 — 在您的 Amazon SageMaker Unified Studio 项目中,转到 数据源,选择您创建的数据源,然后选择 删除。
  4. 移除 S3 资产 — 从您的 s3://aws-glue-assets-<account-id>-<region>/transforms/ 存储桶中删除自定义转换文件。
  5. 移除 IAM 策略 — 分离并删除您附加到 AWS Glue 作业执行角色的 IAM 策略。将该角色从域用户和项目成员中移除。

结论

在本文中,我们向您展示了如何将 Snowflake 连接到 Amazon SageMaker Unified Studio,以实现集中式数据编目和质量验证。此方法无需复制数据即可保持一致的治理。主要优势包括:

  • 无需数据移动即可查询: 通过联合查询直接从 Amazon SageMaker Unified Studio 访问 Snowflake 数据,利用 AWS 的可互操作数据架构,消除耗时的数据复制。
  • 集中式治理: 在您分布式的数据资产中,为数据发现、质量指标和治理策略维护单一事实来源。
  • 自动化质量验证: 使用 AWS Glue Data Quality 应用一致的数据质量规则,并直接在 Amazon SageMaker Catalog 中可视化结果。
  • 统一协作: 通过 Amazon SageMaker Catalog 的发布功能,支持整个组织内的数据发现和共享。

要开始使用,请打开 Amazon SageMaker Unified Studio 控制台。要了解有关相关主题的更多信息,请参阅 Cross-account lakehouse governance with Amazon S3 Tables and SageMaker Catalog 和 Get started with AWS Glue Data Quality dynamic rules for ETL pipelines。

这篇内容对你有用吗?

反馈只用于改善内容筛选,不等同于收藏

分享这条资讯
分享海报
保存图片
iOS 也可以长按图片保存