メインコンテンツまでスキップ

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宣言型パイプラインではサポートされていません。