LIVEスキーマ(レガシー)

この記事では、 LIVE 仮想スキーマの従来の構文と動作の概要について説明します。

LIVE仮想スキーマは、Delta Live Tables パイプラインのレガシ機能であり、非推奨と見なされます。従来の発行モードと、このモードで作成されたパイプラインの LIVE 仮想スキーマを引き続き使用できます。 Databricks では、すべてのパイプラインを新しい公開モードに移行することをお勧めします。 従来の LIVE 仮想スキーマと従来の公開モードのサポートは、Databricks の将来のバージョンで削除される予定です。

注:

パイプライン設定 UI を使用して、従来の公開モードで新しいパイプラインを作成することはできません。 従来の LIVE 構文を使用して新しいパイプラインをデプロイする必要がある場合は、Databricks のアカウント担当者にお問い合わせください。

LIVE 仮想スキーマとは

注:

LIVE仮想スキーマは、 Delta Live Tablesのデフォルト公開モードでデータセットの依存関係を分析するために不要になりました。

LIVE スキーマは、パイプラインで作成または更新されるすべてのデータセットの仮想境界を定義する Delta Live Tables のプログラミング概念です。設計上、 LIVE スキーマは公開されたスキーマのデータセットに直接関連付けられていません。 代わりに、 LIVE スキーマを使用すると、ユーザーがデータセットをスキーマに発行したくない場合でも、パイプライン内のロジックを計画して実行できます。

従来のパイプライン公開モードでは、 LIVE キーワードを使用して、現在のパイプライン内の他のデータセット ( SELECT * FROM LIVE.bronze_tableなど) の読み取りを参照できます。 new Delta Live Tables パイプラインのデフォルト パブリッシング モードでは、この構文は警告なしで無視されるため、修飾されていない識別子は現在のスキーマを使用します。 ターゲット・カタログとスキーマの設定を参照してください。

従来のパイプライン発行モード

LIVE仮想スキーマは、従来の Delta Live Tables パイプライン発行モードで使用されます。2025 年 2 月 5 日より前に作成されたすべてのテーブルは、デフォルトで従来の公開モードを使用します。

次の表では、従来の発行モードのパイプラインで作成または更新されたすべての具体化ビュー (Materialized View) とストリーミング テーブルの動作について説明します。

ストレージオプション

保存場所またはカタログ

ターゲットスキーマ

挙動

Hive metastore

指定なし

指定なし

データセットのメタデータとデータは、 DBFSルートに格納されます。 データベース・オブジェクトは Hive metastoreに登録されていません。

Hive metastore

クラウド・オブジェクト・ストレージへの URI またはファイル・パス。

指定なし

データセットのメタデータとデータは、指定した保存場所に保存されます。 データベース・オブジェクトは Hive metastoreに登録されていません。

Hive metastore

指定なし

Hive metastore内の既存または新しいスキーマ。

データセットのメタデータとデータは、 DBFSルートに格納されます。 パイプライン内のすべてのマテリアライズド ビューとストリーミング テーブルは、 Hive metastoreで指定されたスキーマにパブリッシュされます。

Hive metastore

クラウド・オブジェクト・ストレージへの URI またはファイル・パス。

Hive metastore内の既存または新しいスキーマ。

データセットのメタデータとデータは、指定した保存場所に保存されます。 パイプライン内のすべてのマテリアライズド ビューとストリーミング テーブルは、 Hive metastoreで指定されたスキーマにパブリッシュされます。

Unity Catalog

既存の Unity Catalog カタログ。

指定なし

データセットのメタデータとデータは、ターゲット カタログに関連付けられたデフォルトのストレージ場所に格納されます。 データベース・オブジェクトは Unity Catalogに登録されていません。

Unity Catalog

既存の Unity Catalog カタログ。

Unity Catalog の既存または新しいスキーマ。

データセットのメタデータとデータは、ターゲットスキーマまたはカタログに関連付けられたデフォルトのストレージ場所に保存されます。 パイプライン内のすべての具体化されたビューとストリーミング テーブルは、Unity Catalog の指定されたスキーマに発行されます。

公開モードの切り替え

従来の公開モードで作成されたパイプラインは、パイプラインの JSON 設定を更新することで、新しいデフォルト公開モードにオプトインできます。 必要に応じて、新しいデフォルトの動作を有効にした後で、パイプラインを従来の公開モードに戻すことができます。

属性

挙動

target

従来の発行モードを使用するようにパイプラインを構成します。 ターゲットスキーマの名前を文字列として指定します。

schema

複数のスキーマでマテリアライズドビューとストリーミングテーブルの更新をサポートするデフォルトパブリッシングモードを使用するようにパイプラインを設定します。 デフォルト・スキーマの名前を文字列として指定します。

Delta Live Tables プロパティ・リファレンスを参照してください。

注:

Unity Catalog パイプラインと Hive metastore パイプラインでそれぞれ使用される catalog プロパティや storage プロパティを更新する必要はありません。

LIVEスキーマからのソースコードの更新

新しいデフォルト パブリッシング モードで実行するように構成されたパイプラインは、 LIVE スキーマ構文をサイレントに無視します。 デフォルトでは、すべてのテーブル読み取りは、パイプライン設定で指定されたカタログとスキーマを使用します。

既存のほとんどのパイプラインでは、従来のスキーマ LIVE 仮想スキーマの動作もパイプライン構成で指定されたカタログとスキーマに読み取りを送信するため、この動作の変更は影響しません。

重要

ワークスペースのデフォルト カタログとスキーマを利用する読み取りを含むレガシ コードには、コードの更新が必要です。 次のマテリアライズドビューの定義について考えてみます。

CREATE MATERIALIZED VIEW silver_table
AS SELECT * FROM raw_data

従来のパブリッシング モードでは、 raw_data テーブルからの非修飾読み取りでは、ワークスペースのデフォルトのカタログとスキーマ ( main.default.raw_dataなど) が使用されます。 新しいデフォルトのパイプラインモードでは、デフォルトで使用されるカタログとスキーマは、パイプライン設定で設定されたカタログとスキーマです。 このコードが引き続き期待どおりに動作するようにするには、次の例のように、テーブルの完全修飾識別子を使用するように参照を更新します。

CREATE MATERIALIZED VIEW silver_table
AS SELECT * FROM main.default.raw_data