我想在雪花表中实现scd2。我的源表和目标表仅存在于雪花中。整个过程必须使用 Azure 数据工厂完成。 我浏览了 azure 提供的文档,用于使用数据流实现 scd2,但是当我尝试为雪花连接创建数据集时,它显示为禁用。
有什么方法或任何文档可以让我看到使用雪花表在 adf 中创建 SCD2 的步骤。
谢谢 维彭德拉
ADF 中的 SCD2 可以通过数据流以图形方式构建和管理。目前,ADF 的雪花连接器尚不能直接处理数据流。因此,目前需要在 ADF 管道中使用复制活动,并在 Blob 或 ADLS 中暂存维度数据,然后使用暂存数据在数据流中生成 SCD2 逻辑。
您的管道将如下所示:
[复制活动雪花到斑点] -> [数据流 SCD2 逻辑 Blob 到斑点] -> [复制活动 Blob 到雪花]
我们正在努力从数据流直接连接到Snowflake,并希望尽快登陆。
如果您的源表和目标表都在 Snowflake 中,则可以使用 Snowflake Streams 来执行此操作。有一篇博客文章更详细地介绍了这一点 https://community.snowflake.com/s/article/Building-a-Type-2-Slowly-Changing-Dimension-in-Snowflake-Using-Streams-and-Tasks-Part-1
但是,简而言之,如果你有一个 源表source
,你可以像这样在上面放一个流:
create or replace stream source_changes on table source;
这将捕获对源表所做的所有更改。然后,可以在该流上生成一个视图,以确定如何将这些更改馈送到 SCD 表中。(博客文章使用案例语句将开始日期和结束日期放在视图中的每一行上(。
从那里,您可以使用雪花任务来自动执行从流加载到 SCD 的过程,仅当流实际发生更改时。