ADF 到 Snowflake 增量负载和流
ADF to Snowflake incremental load and streams
我正在尝试将文件从我的 Azure blob 增量加载到 Snowflake table。然后在雪花中,我将流放在 table 上并将数据加载到目标 table.
我无法执行从 Azure 到 Snowflake 的增量加载。我尝试了很多方法但没有用。我附上了我的 2 种不同方式(管道)的图像来做同样的事情。
在这个管道中,我刚刚添加了 3 个额外的列,我想在我的接收器中添加这些列
在此管道中,我尝试创建条件拆分
这两个都没有解决。
请建议我如何解决这个问题。
您可以通过 selecting Allow Upsert 在 sink settings 的 Update 方法下实现。
以下是我的复现详情:
- 这是雪花中的暂存table,我正在向其加载增量数据。
- 源文件-增量数据
a) 此文件包含暂存 table 中存在的记录(StateCode = 'AK' & 'CA'),因此这 2 条记录应该是 已更新 在暂存 table 中使用 Flag 中的新值。
b) 其他 2 条记录 (StateCode = 'FL' & 'AZ') 应该 inserted into the staging table.
- 数据流源设置:
- 添加
DerivedColumn
转换以添加不在源文件中但在接收器中的列 modified_date table.
- 添加
AlterRow
转换:当您使用 Upsert 方法时,AlterRow 转换是必须包含 upsert 条件。
a) 在条件下,您可以提及 upsert 仅当 unique column(在我的例子中是 StateCode)时的行 不为空.
- 使用 Snowflake 阶段 table 作为接收器数据集向 AlterRow 添加
sink
转换。
a) 在sink settings, select Update method as Allow upsert 并提供基于键(唯一)的列Upsert 应该在接收器 table.
中发生
- 在您 运行 管道之后,您可以在接收器中看到结果。
a) 由于 StateCode AK & CA 已经存在于 table 中,只有这些行的其他列值(标志 & modified_date)是 已更新.
b) StateCode AZ & FL 未在阶段(接收器)中找到 table 因此,这些行已 插入 .
我正在尝试将文件从我的 Azure blob 增量加载到 Snowflake table。然后在雪花中,我将流放在 table 上并将数据加载到目标 table.
我无法执行从 Azure 到 Snowflake 的增量加载。我尝试了很多方法但没有用。我附上了我的 2 种不同方式(管道)的图像来做同样的事情。
在这个管道中,我刚刚添加了 3 个额外的列,我想在我的接收器中添加这些列
在此管道中,我尝试创建条件拆分
这两个都没有解决。 请建议我如何解决这个问题。
您可以通过 selecting Allow Upsert 在 sink settings 的 Update 方法下实现。
以下是我的复现详情:
- 这是雪花中的暂存table,我正在向其加载增量数据。
- 源文件-增量数据
a) 此文件包含暂存 table 中存在的记录(StateCode = 'AK' & 'CA'),因此这 2 条记录应该是 已更新 在暂存 table 中使用 Flag 中的新值。
b) 其他 2 条记录 (StateCode = 'FL' & 'AZ') 应该 inserted into the staging table.
- 数据流源设置:
- 添加
DerivedColumn
转换以添加不在源文件中但在接收器中的列 modified_date table.
- 添加
AlterRow
转换:当您使用 Upsert 方法时,AlterRow 转换是必须包含 upsert 条件。
a) 在条件下,您可以提及 upsert 仅当 unique column(在我的例子中是 StateCode)时的行 不为空.
- 使用 Snowflake 阶段 table 作为接收器数据集向 AlterRow 添加
sink
转换。
a) 在sink settings, select Update method as Allow upsert 并提供基于键(唯一)的列Upsert 应该在接收器 table.
中发生- 在您 运行 管道之后,您可以在接收器中看到结果。
a) 由于 StateCode AK & CA 已经存在于 table 中,只有这些行的其他列值(标志 & modified_date)是 已更新.
b) StateCode AZ & FL 未在阶段(接收器)中找到 table 因此,这些行已 插入 .