【问题标题】:Azure Data Factory DataFlow Filter is taking a lot of timeAzure 数据工厂数据流筛选器花费大量时间
【发布时间】:2020-09-11 05:17:12
【问题描述】:

我有一个执行数据流的 ADF 管道。 数据流具有大约 100 万行的源 A 表, 过滤器具有查询以仅从源表中选择昨天的记录, 使用 upsert 的更改行设置, 接收器是记录正在更新的存档表

整个流程大约需要 2 小时左右,这是不可接受的。实际上,被传输/更新的记录只有 3000 条左右。

核心数为 16。尝试使用循环法和 20 个分区进行分区。 对于另一个有大约 10 万条记录的表,类似的存档不会超过 15 分钟。

我想创建只选择昨天的记录但我们只能选择表的数据集。

如果我缺少任何优化它的地方,请提出建议。

【问题讨论】:

    标签: azure azure-data-factory


    【解决方案1】:

    数据集的表真的不重要。无论您用于访问该数据集的哪个活动都可以切换为使用查询而不是整个表,这样您就可以传入一个值以仅从数据库中选择昨天的数据。

    当然,如果您有能力在源上创建存储过程,您也可以这样做。

    在迁移非常大的数据集时,使用复制活动将数据暂存到 Azure 存储 Blob 中,然后再使用另一个复制活动从该 Blob 拉入源,您将获得更好的性能。但是,对于您在此处描述的内容,这似乎没有必要。

    【讨论】:

    • 谢谢。我需要使用数据流,因为它有 upsert 而 copy 没有。为了在我输入查询时使用查询,列映射未显示列,因此过滤器不起作用。不确定这里缺少什么。
    猜你喜欢
    • 2020-08-22
    • 2021-02-19
    • 1970-01-01
    • 1970-01-01
    • 2021-12-03
    • 1970-01-01
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    相关资源
    最近更新 更多