Azure 数据工厂数据流中 "Dataset" 和 "Inline" 源之间的区别?

Difference between "Dataset" and "Inline" sources in Azure Data Factory dataflows?

Azure 数据工厂数据流源中“数据集”和“内联”这两种源类型有什么区别?在什么情况下我应该使用一种而不是另一种?

我已经阅读了来自 Microsoft 的 official documentation,但我无法理解:

When a format is supported for both inline and in a dataset object, there are benefits to both. Dataset objects are reusable entities that can be used in other data flows and activities such as Copy. These reusable entities are especially useful when you use a hardened schema. Datasets aren't based in Spark. Occasionally, you might need to override certain settings or schema projection in the source transformation.

Inline datasets are recommended when you use flexible schemas, one-off source instances, or parameterized sources. If your source is heavily parameterized, inline datasets allow you to not create a "dummy" object. Inline datasets are based in Spark, and their properties are native to data flow.

数据集是一个额外的抽象级别,并且在历史上是必需的。数据集肯定有一席之地,因为它们提供了模式和参数等附加功能,但最初的要求意味着您经常在存储库中得到许多数据集对象,即使是一次性项目也是如此。

内联允许您访问某些(但不是全部)链接服务资源,而无需创建另一个数据集对象。如果您的操作不需要模式,或者您不需要 Dataset 对象以在多个项目中重用,那么内联是一个更简洁的选择。我会提到这一点,因为你引用的文档确实如此:Inline can use Pipeline parameters, so the solution can still be dynamic.

至于建议,我会先从 Inline 开始,然后在情况需要时逐渐过渡到 Datasets。

简而言之: 内联连接到“链接服务”对象。 数据集连接到“数据集”对象。 ...因为它们存在于 ADF 中。

“数据集”本身连接到“链接服务”,因此,使用内联只是跳过(有时)不必要的对象。