【问题标题】:How to sequence stored procedure process on Azure Data Factory?如何在 Azure 数据工厂上对存储过程进行排序?
【发布时间】:2021-08-10 07:12:04
【问题描述】:

我有一个带有DateTime 参数的存储过程,我想执行管道序列,所以它将首先在“JAN-FEB”开始,然后是“MAR-APR”,然后是“MEI-JUN”

我该怎么做?不使用存储过程中的硬管道?

所以对于这样的例子:

我有 3 个具有不同 DateTime 的存储过程。而且我不希望它这样运行。

我可以做些什么来解决我的问题?在这种情况下,我可以使用 Azure 数据工厂的什么功能?

注意:

  • 我为什么要对这个存储过程进行排序是为了防止Azure Synapse 崩溃。因为在这个脚本中将处理来自源表的大约 10 亿 行,我需要批处理这个过程以防止任何错误。

【问题讨论】:

    标签: azure stored-procedures azure-pipelines azure-data-factory azure-synapse


    【解决方案1】:
    1. 首先您可以在 ADF 中定义一个数组类型变量。例如。 ['JAN-FEB','MAR-APR','MEI-JUN']

    2. 通过 Foreach 活动遍历这个数组。选择Sequential,这将依次循环内部活动。添加动态内容,选择你声明的变量名。

    3. 在 Foreach 活动中,我们可以使用存储过程,点击Import 将在你的存储过程中导入参数。然后添加动态内容@item()

    ADF 将按顺序执行存储过程。

    【讨论】:

    • 非常感谢您的解释,但是在这里我想问一下,是否可以在ForEach items 上添加多个变量?如果可能的话,这个ForEachValue上的Stored Procedure上写的动态内容怎么样,在你的解释参数中只指@item(),它只包含ParamArray值?
    • Foreach活动一次只能接收一个数组类型的参数。 `@item()` 表示ParamArray 数组中的每个元素。
    • 是的,我们可以在ForEach活动中使用Set variable活动。
    • 我以为你有3个存储过程要按顺序执行,每次接收到的参数值都是一样的。
    • 哈哈哈,不好意思,突然从你的回答中得到了另一个启示。好的,非常感谢约瑟夫!非常感谢您的回答
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-03
    • 1970-01-01
    • 1970-01-01
    • 2022-09-25
    • 2020-11-22
    • 1970-01-01
    相关资源
    最近更新 更多