【问题标题】:Can you use a data flow sink as a source in the same data flow?您可以将数据流接收器用作同一数据流中的源吗?
【发布时间】:2022-01-03 14:05:47
【问题描述】:

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

  1. 将学生数据加载到学生表中
  2. 将学生的班级信息加载到 StudentClasses 表中。在这个数据流中,我需要将数据与学生表连接(显然,关于学生的新数据必须在这个连接步骤加载到学生)

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

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

source3 和 sink1 是同一张表。我想要的是首先填充 sink1,然后将它用于 source 2 加入它。这可以使用接收器排序来实现吗?或者无论接收器排序如何,source3 都将为空?

【问题讨论】:

  • 你的源类型或数据集是什么

标签: azure-data-factory pipeline azure-synapse


【解决方案1】:

是的,您可以在单个数据流中使用多个源和接收器,并通过连接活动引用相同的源。并使用自定义接收器排序属性订购接收器写入

我使用的是内联数据集,但你可以使用任何类型

使用 inline dataset 将结果存储在 sink1 中。在source3中,使用相同的inline dataset加入Source2


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

参考 MS DOC:Sink ordering

【讨论】:

  • 我已经编辑了我的问题,以便更清楚地展示我想要实现的内容
  • 请检查更新,没有明确的方法来设置源顺序,但是如果你有与数据顺序匹配的转换,它将在运行时失败
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-03-16
  • 1970-01-01
  • 2021-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多