パイプラインの開発時に知っておくべき重要な Lakeflow 宣言型パイプラインの制限事項を次に示します。
- Azure Databricks ワークスペースは、200 件の同時パイプライン更新に制限されています。 1 つのパイプラインに含めることができるデータセットの数は、パイプラインの構成とワークロードの複雑さによって決まります。
- Lakeflow 宣言型パイプライン のデータセットは、1 回だけ定義できます。 このため、すべての Lakeflow 宣言パイプラインで 1 つの操作の対象にしかなりません。 例外は、追加フロー処理を含むストリーミング テーブルです。これにより、複数のストリーミング ソースからストリーミング テーブルに書き込むことができます。 複数のフローを使用して 1 つのターゲットに書き込む方法を参照してください。
- ID 列には、次の制限があります。 Delta テーブルの ID 列の詳細については、「Delta Lakeで ID 列
使用する」を参照してください。 - ID 列は、 AUTO CDC 処理の対象となるテーブルではサポートされていません。
- 具体化されたビューの更新中に ID 列が再計算される場合があります。 このため、Databricks では、ストリーミング テーブルでのみ Lakeflow 宣言パイプラインで ID 列を使用することをお勧めします。
- Databricks SQL によって作成されたものも含め、Lakeflow 宣言パイプラインから発行された具体化されたビューとストリーミング テーブルには、Azure Databricks クライアントとアプリケーションのみがアクセスできます。 ただし、具体化されたビューとストリーミング テーブルに外部からアクセスできるようにするには、Lakeflow 宣言パイプライン
sink
API を使用して、外部 Delta インスタンス内のテーブルに書き込むことができます。 「シンクを使用して、Lakeflow 宣言パイプラインを使用して外部サービスにレコードをストリーミングする」を参照してください。 - Unity カタログ パイプラインの実行とクエリに必要な Databricks コンピューティングには制限があります。 Unity カタログに発行するパイプラインの 要件 を参照してください。
- Delta Lake タイム トラベル クエリはストリーミング テーブルでのみサポートされ、具体化されたビューではサポート されません 。 「Delta Lake テーブル履歴の操作」を参照してください。
- Lakeflow Declarative Pipelines によって作成されたマテリアライズドビューとストリーミングテーブルでIceberg 読み取りを有効にすることはできません。
-
pivot()
関数はサポートされません。 Spark でのpivot
操作では、出力スキーマを計算するために、入力データを積極的に読み込む必要があります。 この機能は、Lakeflow 宣言パイプラインではサポートされていません。