【问题标题】:Integration Runtime with TTL not helping with Cluster startup time带有 TTL 的集成运行时对集群启动时间没有帮助
【发布时间】:2021-04-02 12:07:49
【问题描述】:

您好,我有一个带有 Foreach 循环的管道,其中我有一个 Dataflow 任务,该任务在我设置的集成运行时上运行,生存时间为 10 分钟。当我用三个文件触发管道时(即 Foreach 中的 Dataflow 任务将执行 3 次),我看到每次数据流执行的集群启动时间几乎保持不变(4-6 分钟)。我假设具有 10 分钟 TTL 的 IR 会大大减少集群启动时间(至少对于第二次或第三次执行),但似乎并非如此。 不确定我是否缺少管道或 IR 上的设置/配置,或者这是否是预期行为。任何见解将不胜感激。

【问题讨论】:

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


    【解决方案1】:

    在 ADF 中使用 ForEach w/Dataflow 活动时,如果您希望利用缩短的集群启动时间,您必须将 ForEach 设置为按顺序执行迭代。即使您在 Azure IR 上设置了 TTL,允许 ForEach 并行执行也会为每次迭代启动新集群。

    【讨论】:

    • 当我查看监控时,for each 循环似乎是按顺序执行的。我从监控中看到,数据流在前一个完成后一个接一个地执行。如果我看错了,请告诉我。
    • 我将把顺序设置为真,看看这是否会缩短集群时间。
    • 今天重新登录进行检查,ForEach 的 Sequential 设置为 True,因此不确定是什么导致集群在每次数据流执行时都启动
    • 我遇到了同样的问题。我有一个由按顺序运行的子管道组成的管道。其中一些子管道以相同的 IR(30 分钟 TTL)运行数据流......但所有数据流都需要 5 分钟来获取计算。
    • 活动必须安排在 30 分钟 TTL 内执行,必须使用相同的 Azure IR,并且必须按顺序运行。如果您尝试同时安排数据流活动,ADF 将不得不启动一个新集群来满足您的请求。如果您认为所有这些条件都得到满足,请打开 Azure 支持案例,以便我们可以对日志进行工程挖掘。
    【解决方案2】:

    我找到了解决方案。 Microsoft 在 Integration Runtime 创建过程中添加了一个复选框...

    【讨论】:

    • 您仍需要并行执行数据流活动以在 TTL 期间“重用”集群。否则,并行运行时,ADF 将不得不启动额外的集群,每个集群都有 5 分钟的冷启动时间,因为 Databricks 不支持并行运行的 Scala 执行器。
    • @MarkKromerMSFT 此方法仅推荐用于数据流活动的顺序执行。
    • 是的,我的意思是输入“您仍然需要按序列执行数据流活动”
    猜你喜欢
    • 2021-12-11
    • 2021-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-11
    • 2020-08-07
    • 2019-01-05
    • 1970-01-01
    相关资源
    最近更新 更多