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