Azure 数据工厂 CDS 连接器随机记录

问题描述

我有一个 Dynamics 365 的在线实现,我需要使用 Azure 数据工厂来执行以下操作:

1 - 根据 fetchxml 条件提取一些记录 2 - 从这些中随机选择 100 条记录 3 - 将它们插入到 D365 中的不同实体中。

我使用的 ADF CDS connector支持复制活动(目前还不支持数据流)

我希望我能做的是:

任务 1 - 将所有记录复制到一个 csv 文件中,并添加一个包含随机 ID 的额外列作为额外列

问题:当我这样做并使用 rand() 函数时,返回的所有数字都相同:

rand() additional column

enter image description here

如果我尝试使用 @guid() 会发生同样的问题,所有值都返回相同的值。

问题 1 - rand() 和 guid() 为所有记录返回相同值是否有原因,是否有解决方法

问题 2 - 是否有另一种我想不到的方法来实现我想要做的事情:从数据集中随机选择 x 条记录?

解决方法

rand() 和 guid() 返回相同的值是否有原因 对于所有记录,是否有解决方法?

这是因为 ADF 将首先执行此表达式,并且只会执行一次。然后使用它的结果作为列值。所以你得到相同的数据。作为解决方法,您需要先将记录复制到 csv 文件中。然后在数据流中使用 csv 文件作为源,然后使用派生列添加 randID 列。您还可以创建一个 Azure 函数来添加 randID 列并在 ADF 中调用它。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...