Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Azure data Factory的数据流中的数据合并到现有表中_Azure_Azure Data Factory_Azure Data Factory 2 - Fatal编程技术网

将Azure data Factory的数据流中的数据合并到现有表中

将Azure data Factory的数据流中的数据合并到现有表中,azure,azure-data-factory,azure-data-factory-2,Azure,Azure Data Factory,Azure Data Factory 2,我正在尝试在Azure Data Factory下创建一个数据流,在执行一些转换后将行插入并更新到表中。当我试图将修改后的数据写入“接收器”时,我选中了“允许插入”和“允许更新”两个复选框。弹出一条消息,告诉我创建“addalterrow”。我想做的只是更新主列是否匹配;否则,请插入行,但我无法在“addalterrow”下找到如何执行该操作 总而言之,我想把所有的行写回到表中。如果PK列匹配,则更新行;否则,插入行。我该怎么做?请不要叫我截断桌子 基本上,我需要执行“合并”。我解决了它,它就可

我正在尝试在Azure Data Factory下创建一个数据流,在执行一些转换后将行插入并更新到表中。当我试图将修改后的数据写入“接收器”时,我选中了“允许插入”和“允许更新”两个复选框。弹出一条消息,告诉我创建“addalterrow”。我想做的只是更新主列是否匹配;否则,请插入行,但我无法在“addalterrow”下找到如何执行该操作

总而言之,我想把所有的行写回到表中。如果PK列匹配,则更新行;否则,插入行。我该怎么做?请不要叫我截断桌子


基本上,我需要执行“合并”。

我解决了它,它就可以工作了。我将合并我的两个表
TEST2
TEST3
,所有行将写入
TEST3

我的表中的数据
TEST2
TEST3

这是我的数据流

首先,使用JOIN从
TEST2
TEST3
获取数据:

更改行设置和数据预览:

接收器设置和数据预览:

检查测试3中的数据:


希望这有帮助。

Alter Row仅过滤源数据集中的数据。我有一些想法,在数据库中创建一个存储过程,然后使用copy active从源数据集中复制数据作为参数,在Sink数据集中调用存储的过程。您所需要的就是考虑如何设计存储过程。我希望在不编写存储过程的情况下实现这一点。我总是可以将更新写入暂存表&从那里使用存储的proc进行更新,但是没有办法简单地使用匹配的键进行更新吗?谢谢。我要试试这个。问题!想知道为什么在一个表中使用'sql'作为列名,而在另一个表中使用'name'。通常,暂存表(TEST2)和目标表(TEST3)列是相同的。你想保存一个“选择”步骤吗?不管怎样,多亏了你的提示,我才能够让它工作。我必须添加一个额外的连接条件。再次感谢,不客气。我只是使用exist表进行测试。它们有不同的列名,但架构相同。快速提问。我的管道/数据流正在工作,但所有内容都经过硬编码,仅在一个表中工作。所有列名都是硬编码的,等等。现在我想概括一下这个过程。使此管道/数据流与100个其他表一起工作。我知道我可以使用参数等,但如何动态/编程生成数据流。。。希望使用Java?我没有看到任何JavaAPI。你有什么想法吗?很抱歉我不能回答你。根据我的知识和经验,这对我来说真的很难。我认为数据工厂/数据流不擅长做非常复杂的数据处理。