如何使用 Azure 数据工厂在雪花表中实现 scd2?

问题描述 投票:0回答:1

我想在snowflake表中实现scd2。我的源表和目标表只存在于snowflake中。整个过程必须使用 Azure 数据工厂来完成。我查看了 azure 提供的关于使用数据流实现 scd2 的文档,但当我试图为 snowflake 连接创建数据集时,其显示为禁用。

是否有任何方法或任何文档可以让我看到在adf中使用雪花表创建scd2的步骤。

谢谢vipendra

azure-data-factory snowflake-cloud-data-platform azure-data-factory-2 scd2 snowflake-stream
1个回答
0
投票

ADF中的SCD2可以通过数据流进行图形化构建和管理。如今ADF的Snowflake连接器还不能直接使用数据流。所以现在,你需要在ADF管道中使用复制活动,并在Blob或ADLS中暂存维度数据,然后使用暂存的数据在数据流中构建SCD2逻辑。

你的流水线将看起来像这样。

复制活动 Snowflak-to-Blob] -> [数据流 SCD2 逻辑 Blob-to-Blob] -> [复制活动 Blob-to-Snowkflake] 。

我们正在研究从数据流直接连接到Snowflake,希望能尽快落地。


0
投票

如果你的源表和目标表都在Snowflake中,你可以使用Snowflake Streams来实现。有一篇博客文章详细介绍了这个问题,地址是 https:/community.snowflake.comsarticleBuilding-a-Type-2-Slowly-Changing-Dimension-in-Snowflak-Using-Streams-and-Tasks-Part-1。

然而,总之,如果你有一个源表 source,你可以像这样在上面放一个流。

create or replace stream source_changes on table source;

这将捕获所有对源表的更改。然后,你可以在该流上建立一个视图,确定如何将这些更改输入到SCD表中。博文中使用case语句在视图中的每一行上放入开始和结束日期)。

从那里,你可以使用Snowflake Task来自动化从流加载到SCD的过程,只有当流真正有变化时,才会自动加载。

© www.soinside.com 2019 - 2024. All rights reserved.