【问题标题】:Azure DataFactory - Can we ordered CopyData source before ingestionAzure 数据工厂 - 我们可以在摄取前订购复制数据源吗
【发布时间】:2020-12-13 02:02:50
【问题描述】:

我有一个案例需要将 CSV 文件提取到 CosmosDb 中。 所以我有一个 DataSet 来处理 CSV,另一个来准备 CosmosDb 架构。

在管道中,我有一个来自 CSV 的 CopyData 任务映射,然后在 Cosmos 中写入。 在 CopyData Source 参数中,我指定了存储 CSV 的 Azure Blob Storage。

到目前为止,没有任何问题。 问题是,我现在需要找到一种方法来确保像按字母顺序排列的文件数组(基于文件名)一样摄取 blob。

有办法吗?

【问题讨论】:

    标签: azure-cosmosdb azure-storage azure-data-factory


    【解决方案1】:

    在 ADF 中很难按文件名排序。

    一种实现方式:

    将所有文件名保存在 csv 文件中,然后使用数据流中的排序活动并覆盖此文件。最后,使用 Lookup 和 For Each 活动将 blob 复制到 Cosmos DB。

    另一种方式:

    将 Get Metadata 活动的输出的 childItems 传递给 Azure Function。然后在 Azure Function 中对文件名进行排序。最后,通过 For Each 活动循环输出 Function 并复制到 Cosmos DB。

    【讨论】:

    • 其实需要对fileName进行排序隐藏简单的需要先摄取第一个存储的blob。这是真正的需要。目前,如果没有任何额外的过程,它似乎不会首先摄取上传的第一个 blob。我认为你的两种方式都可以,我会选择“第二种方式”,因为我不能使用 DataFlow(在中国不可用)。我们是否只知道 ADF 如何从存储帐户中检索数据?根据哪个顺序?
    • 那么你需要获取一个文件夹中最早上传的blob吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-19
    • 2020-04-21
    • 2020-07-06
    • 2020-11-25
    • 1970-01-01
    • 2021-05-08
    相关资源
    最近更新 更多