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

パイプラインの制限

以下は、パイプラインを開発する際に知っておくことが重要な、 Lakeflow Spark宣言型パイプラインの制限事項です。

  • Databricksワークスペースの 1 つのブリッジ ラインの更新は 200 に制限されています。 1 つのパイプラインに含めることができるデータセットの数は、パイプラインの構成とワークロードの複雑さによって決まります。

  • パイプライン データセットは 1 回だけ定義できます。このため、すべてのパイプラインにわたって、単一の操作のみを対象にすることができます。例外は、追加フロー処理を備えたストリーミング テーブルです。これにより、複数のストリーミング ソースからストリーミング テーブルに書き込むことができます。 複数のフローを使用して単一のターゲットに書き込むを参照してください。

  • ID 列には次の制限があります。Delta テーブルの ID 列の詳細については、 「Delta Lake で ID 列を使用する」を参照してください。

    • AUTO CDC処理の対象となるテーブルでは、ID 列はサポートされません。
    • ID 列は、マテリアライズドビューの更新中に再計算される場合があります。 このため、 Databricksパイプラインの ID 列をストリーミング テーブルでのみ使用することをお勧めします。
  • パイプラインから公開されたマテリアライズドビューとストリーミング テーブルDatabricks SQLで作成されたものを含む) には、 Databricksクライアントとアプリケーションのみがアクセスできます。 ただし、マテリアライズドビューとストリーミング テーブルに外部からアクセスできるようにするには、 sink API使用して外部Deltaインスタンスのテーブルに書き込むことができます。 「シンクを使用して、 Lakeflow Spark宣言型パイプラインでレコードを外部サービスにストリーミングする」を参照してください。

  • Unity Catalogパイプラインの実行とクエリに必要な Databricksコンピュートには制限があります。Unity Catalog に発行するパイプラインの 要件 を参照してください。

  • Delta Lake タイムトラベル クエリはストリーミングテーブルでのみサポートされ、マテリアライズドビュー はサポートされていません。 Delta Lake テーブル履歴の操作を参照してください。

  • マテリアライズドビューおよびストリーミングテーブルではIceberg読み取りを有効にすることはできません。

  • pivot()関数はサポートされていません。Sparkのpivot操作では、出力スキーマをコンピュートするために入力データを積極的にロードする必要があります。 この機能はパイプラインではサポートされていません。