是否可以更新 Azure 数据工厂表中的行值?

is it posible update row values from tables in Azure Data Factory?

我在数据工厂中有一个数据集,我想知道是否可以仅使用数据工厂活动更新行值,而无需数据流、存储过程、查询...

概念

数据集:

数据集表示数据存储中的数据结构,它只是指向或引用您要在活动中用作输入或输出的数据。

现在,数据集是数据的命名视图,它只是指向或引用您要在活动中用作输入和输出的数据。数据集标识不同数据存储中的数据,例如表、文件、文件夹和文档。例如,Azure Blob 数据集指定 Blob 存储中的 Blob 容器和文件夹,activity 应从中读取数据。

目前,根据我的经验,仅使用数据工厂活动无法更新行值。 Azure 数据工厂现在不支持此功能。

更多详情,请参考:

  1. Datasets
  2. Datasets and linked services in Azure Data Factory.

例如,当我使用 Copy Active 时,数据工厂没有提供任何更新行的方法:

希望对您有所帮助。

有一种方法可以从数据工厂进行更新(可能还有任何其他 SQL 语句),但它有点俗气。 Loopup activity,可以在Query模式下执行一组语句,即:

唯一的条件是以select结尾,否则查找activity会报错。

这适用于 Azure SQL、PostgreSQL,并且很可能适用于可以连接到的任何其他数据库数据工厂。

这现在在 Azure 数据工厂中成为可能,您的数据流应该有一个 Alter Row 阶段,并且 Sink 有一个下拉列表,您可以在其中 select 关键列进行更新。

https://docs.microsoft.com/en-us/azure/data-factory/data-flow-alter-row

如上述关于 ADF 数据流的评论中所述,ADF 数据流不支持许可接收器或源,接收器和源应驻留在 Azure SQL 或 Azure 数据湖或任何其他 AZURE 数据中服务。