我想在雪花表中实现scd2。我的源表和目标表只存在于snowflake中。整个过程必须使用Azure数据工厂来完成。我浏览了azure提供的使用数据流实现scd2的文档,但当我尝试为snowflake connection创建数据集时,它显示为禁用。
有没有任何方法或任何文档,我可以看到步骤,在adf中创建雪花表的SCD2。
感谢vipendra
发布于 2020-06-11 02:12:57
ADF中的SCD2可以通过数据流以图形方式构建和管理。目前,用于ADF的Snowflake连接器还不能直接处理数据流。因此,现在,您将需要在ADF管道中使用复制活动,并在Blob或ADF中暂存维度数据,然后使用已暂存的数据在数据流中构建SCD2逻辑。
您的管道将如下所示:
拷贝活动雪花到块->数据流SCD2逻辑块到块->拷贝活动块到雪花
我们正在努力从数据流中直接连接到Snowflake,并希望尽快落地。
发布于 2020-06-11 12:11:06
如果你的源表和目标表都在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表。(这篇博文使用case语句将开始日期和结束日期放入视图中的每一行)。
在那里,您可以使用Snowflake Task自动执行仅当stream实际发生更改时才从流加载到SCD的过程。
https://stackoverflow.com/questions/62301169
复制相似问题