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