本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
启用 Snowflake 血统 AWS Glue Spark 作业
亚马逊 DataZone 可以从读取 Snowflake 数据源或写入 Snowflake 数据源的 AWS Glue Spark 作业中捕获列级谱系。当您在 AWS Glue 作业上启用世系时, AWS Glue Spark 运行时会在任务运行时发出世系事件,Amazon SageMaker Unified Studio 会在世系视图中呈现这些事件。
AWS Glue的 Spark 运行时已经包含了它用来发送事件的 OpenLineage Spark 和 Amazon DataZone 集成。唯一的额外步骤是将工作中的 OpenLineage 核心客户端 (openlineage-java) 升级到版本1.49.0。
先决条件
在 AWS Glue Spark 作业上启用世系之前,请确认以下内容:
-
已经配置了具有 Snowflake 连接的 Amazon DataZone 域名和项目。请参阅在亚马逊中将 Snowflake 作为数据源进行连接 DataZone。
-
从连接的 Snowflake 源读取或写入的 AWS Glue Spark 作业。
-
修改 AWS Glue 作业配置的权限。
-
AWS Glue 任务可以读取的 Amazon S3 存储桶。
以下步骤描述了如何在 AWS Glue 工作中升级 OpenLineage 核心客户端并启用世系事件生成。
步骤 1:在上升级 OpenLineage 核心客户端 AWS Glue 作业
AWS Glue Spark 运行时将 OpenLineage Spark 集成和亚马逊 DataZone集成捆绑在一起。要使其与 Amazon 兼容 DataZone,请将运行中的openlineage-java客户端升级到版本1.49.0。
-
openlineage-java-1.49.0.jar从 Maven Central 下载。请使用以下任一命令:-
Maven 存储库页面
。选择要下载的 jar。
-
-
将 JAR 上传到您的 AWS Glue 任务可以读取的 Amazon S3 存储桶。
-
在 AWS Glue 控制台中,打开任务并选择 Job 详情。在 “高级属性” 下,找到 “依赖 JAR” 路径并添加已上传 JAR 的 S3 URI。
-
仍然在 Job 详细信息中,添加以下 job 参数:
键 值 --user-jars-firsttrue这会让 AWS Glue Spark 运行时加载你上传的
openlineage-java客户端,而不是与 AWS Glue之捆绑的版本。
第 2 步:在上启用世系事件生成 AWS Glue 作业
-
在 AWS Glue 控制台中,打开任务并选择 Job 详情 → 基本属性。
-
选择 “生成世系事件”。
-
在显示的字段中输入您的 Amazon DataZone 域名 ID。使用与创建 Snowflake 连接时相同的域 ID。
-
保存作业。
验证血统是否被捕获
运行作 AWS Glue 业。任务完成后,在 Amazon SageMaker Unified Studio 中打开项目中目标表的世系视图。任务读取的 Snowflake 源的血统记录在图表中显示为上游节点。