能否在同一数据流中将数据流接收器用作源?

Can you use a data flow sink as a source in the same data flow?

我正在尝试使用 Azure Synapse Analytics 管道将销售数据加载到数据库中,策略如下(场景已编):

  1. 将学生数据加载到 table 学生
  2. 将学生的 类 信息加载到 table StudentsClasses。在此数据流中,我需要将数据与 Students table 连接起来(显然,有关学生的新数据必须在此连接步骤中加载到 Students)

我可以在同一个数据流中使用 Sink 排序来处理这两个进程吗?或者接收器顺序没有定义源读取顺序? (即读源和转换是并行的,只有写是按顺序的?

编辑:这是我要实现的示例数据流:

source3 和 sink1 相同table。我想要的是首先填充 sink1,然后将其用于源 2 以加入它。这可以使用 Sink ordering 来实现吗?或者无论接收器顺序如何,source3 都将为空?

是的,您可以在单个数据流中使用多个源和接收器,并通过连接引用相同的源 activity。并使用 Custom sink ordering 属性

order sink write

我正在使用内联数据集,但您可以使用任何类型

使用内联数据集将结果存储在sink1中。在 source3 中,使用相同的 内联数据集 Source2

连接


确保你正确地给出了接收器顺序,如果你有错误的顺序或者如果它在进行转换时没有遇到任何数据,它将无错误地发布但是管道 运行 会失败。

参考 MS 文档:Sink ordering