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 設定を更新することで、新しいデフォルト公開モードにオプトインできます。 必要に応じて、新しいデフォルトの動作を有効にした後で、パイプラインを従来の公開モードに戻すことができます。
属性 |
挙動 |
---|---|
|
従来の発行モードを使用するようにパイプラインを構成します。 ターゲットスキーマの名前を文字列として指定します。 |
|
複数のスキーマでマテリアライズドビューとストリーミングテーブルの更新をサポートするデフォルトパブリッシングモードを使用するようにパイプラインを設定します。 デフォルト・スキーマの名前を文字列として指定します。 |
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