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