以下是在开发管道时必须了解的 Lakeflow 声明性管道的限制:
- Azure Databricks 工作区限制为最多处理 100 个并发管道更新。 单个管道可以包含的数据集数取决于管道配置和工作负荷复杂性。
- Lakeflow 声明性管道数据集只能定义一次。 因此,它们只能在所有 Lakeflow 声明性管道中成为单个操作的目标。 例外是具有追加流处理功能的流式表,这允许您从多个流源写入流式表。 请参阅 使用多个流写入单个目标。
- 标识列具有以下限制。 若要详细了解 Delta 表中的标识列,请参阅使用 Delta Lake 中的标识列。
- 使用 AUTO CDC 处理的目标表不支持标识列。
- 在更新具体化视图时,标识列可能会被重新计算。 因此,Databricks 建议 Lakeflow 声明性管道中的标识列仅用于流式表。
- 只有 Azure Databricks 客户端和应用程序才能访问从 Lakeflow 声明性管道发布的物化视图和流式表,包括由 Databricks SQL 创建的视图。 但是,若要使物化视图和流表在外部可访问,可以使用 Lakeflow 声明性管道
sink
API 写入外部 Delta 实例中的表。 请参阅 使用汇聚点通过 Lakeflow 声明性管道将记录流式传输到外部服务。 - 不能使用 Delta Sharing 来共享 Lakeflow Declarative Pipelines 创建的物化视图和流式处理表。
- 运行和查询 Unity 目录管道所需的 Databricks 计算能力存在限制。 有关发布到 Unity Catalog 的管道,请参阅要求。
- Delta Lake 时间旅行查询仅受流式处理表支持,不受具体化视图支持。 请参阅使用 Delta Lake 表历史记录。
- 不能对通过 Lakeflow 声明式管道创建的物化视图和流表启用 Iceberg 读取能力。
- 不支持
pivot()
函数。 Spark 中的pivot
操作需要预先加载输入数据以计算输出架构。 Lakeflow 声明性管道不支持此功能。