通过Azure数据工厂将数据从Azure Cosmos DB复制到ADLS Gen 2时如何设置输出路径

时间:2019-07-11 20:29:29

标签: azure azure-data-factory azure-data-factory-2

我有以下格式的cosmos DB集合:

{
    "deviceid": "xxx",
    "partitionKey": "key1",
    .....
    "_ts": 1544583745
}

我正在使用Azure数据工厂将数据从Cosmos DB复制到ADLS Gen2。如果我使用复制活动进行复制,则非常简单。但是,我主要关心的是ADLS Gen 2中的输出路径。我们的要求指出,我们需要采用特定格式的输出路径。这是需求的一个示例:

outerfolder/version/code/deviceid/year/month/day

现在,既然deviceid,年,月,日都在有效负载本身中,除了创建查找活动并在复制活动中使用查找活动的输出之外,我找不到其他使用它们的方法。

enter image description here

这是我使用数据集属性设置输出文件夹的方式:

enter image description here

我正在Cosmos DB上使用SQL API来查询数据。

有没有更好的方法可以实现这一目标?

1 个答案:

答案 0 :(得分:1)

我认为您的方法行得通,但并非最干净。我要做的是在管道中为每个变量创建一个不同的变量:版本,代码,设备ID等。然后,在查找之后,您可以分配变量,最后进行引用管道变量的复制活动。

Proposed pipeline

这可能看起来有点多余,但是想想有人(或您距今2年)必须修改管道,并且如果您不在身边(或忘记了),则可以清楚地知道它的工作原理和作用您应该进行修改。

希望这对您有帮助!