如何使用Azure Data Factory更新Snowflake中的表

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

我在雪花中有两个表,分别为table1和table2。表1是包含增量数据的源表,表2是目标表。

所以我的用例是我必须从表1中获取数据并将数据更新到表2中,但是必须使用Azure数据工厂来完成此过程。

我试图在ADF中创建数据流,但是由于它不在受支持的源列表中,因此它不允许我直接与雪花连接。本机雪花连接器仅支持“复制数据活动”。因此,作为一项变通办法,我首先创建了一个复制活动,该活动将数据从雪花复制到蔚蓝斑点。然后使用Azure Blob作为数据流的源来创建我的scd1实现并将输出保存在csv文件中。

现在,我的问题是如何更新目标表2中的数据。因为如果我直接使用复制活动将csv文件复制到雪花中,那么它将导致雪花端出现重复记录。例如,假设table2包含一行

id,name,age,data
1234,kristopher,24,somedata

和table1包含

id,name,age,data
1234,kristopher,24,some-new-data

所以现在我在csv中有table1数据,必须将其加载到雪花中。如果我直接加载,则结果看起来像这样。

id,name,age,data
1234,kristopher,24,somedata
1234,kristopher,24,some-new-data

但是我只需要

1234,kristopher,24,some-new-data

让我知道是否需要更多说明。我也是Azure Data Factory和Snowflake的新手。

谢谢

azure-data-factory snowflake-cloud-data-platform azure-data-factory-2 snowflake-schema scd
1个回答
0
投票

如您所见,ADF数据流当前不支持将Snowflake数据集作为源。

从理论上讲,您可以遵循this设计模式,但是对于您描述的要求来说似乎需要大量工作。一种替代方法是沿着“ Azure功能”路线走,但我还是要权衡需求与努力。

如果不必在ADF中,那么一种快速的方法是使用Snowflake Task安排一些SQL来为您管理SCD行为。

我希望这会有所帮助。

最好的问候,担。

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