通过


管道限制

以下是在开发管道时必须了解的 Lakeflow Spark 声明性管道的限制:

  • Azure Databricks 工作区限制为 200 个并发管道更新。 单个管道可以包含的数据集数取决于管道配置和工作负荷复杂性。

  • 管道的配置包括对源文件和文件夹的引用。

    • 如果配置 引用单个笔记本或文件,则每个管道的限制为 100 个源文件。

    • 如果配置包含文件夹,最多可以包含由文件或文件夹组成的 50 个源条目。

      间接引用一个文件夹就等于间接引用该文件夹中的文件。 在这种情况下,对引用的文件数(直接或间接)的限制为 1000。

    如果需要 100 多个源文件,请将它们组织到文件夹中。 若要了解如何使用文件夹包含源文件,请参阅 Lakeflow 管道编辑器中的 管道资产浏览器

  • 管道数据集只能定义一次。 因此,它们只能在所有管道中成为单个操作的目标。 例外情况是使用追加流处理的流表,这使你可以从多个流源写入流表。 请参阅 使用多个流写入单个目标

  • 标识列具有以下限制。 若要详细了解 Delta 表中的标识列,请参阅 在 Delta Lake 中使用标识列

    • 标识列不支持用作 AUTO CDC 处理的目标表。
    • 在更新物化视图时,标识列可能会被重新计算。 因此,Databricks 建议仅在流式表中使用标识列。
  • 只能由 Azure Databricks 客户端和应用程序访问从管道发布的物化视图和流式表,包括那些由 Databricks SQL 创建的。 但是,若要使具体化视图和流式处理表在外部可访问,可以使用 sink API 写入外部 Delta 实例中的表。 请参阅 Lakeflow Spark 声明式管道中定义的 'Sinks'

  • 运行和查询 Unity Catalog 管道所需的 Databricks 计算具有限制性。 请参阅发布到 Unity Catalog 的管道要求。

  • Delta Lake 的时间旅行查询仅支持流式表,而不支持具体化视图。 参见 使用表历史记录

  • 无法在物化视图和流式表上启用Iceberg 读取

  • 不支持 pivot() 函数。 Spark 中的 pivot 操作需要预先加载输入数据以计算输出架构。 管道不支持此功能。

有关 Lakeflow Spark 声明性管道资源配额,请参阅 资源限制