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

ターゲットカタログとスキーマを設定する

LakeFlow宣言型パイプライン構成 UI の データ資産の確実な場所 セクションでは、パイプラインのカタログとスキーマを設定します。 このデフォルトのカタログとスキーマは、クエリ内で上書きされない限り、すべてのデータセット定義とテーブル読み取りに使用されます。

注記

従来の公開モードでは、同様の動作を実現するためにLIVE仮想スキーマが使用されます。デフォルトの公開モード (すべての新しいパイプラインで使用される) では、 LIVEキーワードは無視されます。LIVE スキーマ (レガシー)を参照してください。

別のカタログまたはスキーマ内のデータセットをターゲットにする

LakeFlow宣言型パイプラインは、3 層の識別子解決セマンティクスをサポートします。 Databricks では、パイプラインに構成されているデフォルト以外のデータセットを対象とするクエリとステートメントには、完全修飾識別子を使用することをお勧めします。Unity Catalog識別子の解決を参照してください。 たとえば、パイプラインではないmainカタログとstoresスキーマにregional_salesというマテリアライズドビューを作成するには、名前をmain.stores.regional_salesのように完全修飾します。

Python
from pyspark import pipelines as dp

@dp.materialized_view(name="main.stores.regional_sales")
def func():
return spark.read.table("partners");

Lakeflow 宣言型パイプライン ソース コードは、 SQL コマンド コマンド USE CATALOG catalog_nameUSE SCHEMA schema_nameをサポートしています。 これらのコマンドを実行して、現在のカタログとスキーマのスコープを、これらのコマンドを含むファイルまたはノートブックに設定します。ソース コード ファイルでこれらのコマンドに従い、修飾されていない識別子または部分的に修飾された識別子を使用する操作は、パイプライン構成で設定されたデフォルト値ではなく、現在のカタログとスキーマに解決されます。 現在のカタログとスキーマとはを参照してください

データセットが存在しない場合はどうなりますか?

次の表では、 Lakeflow 宣言型パイプライン ソース コードが存在しないデータセットを参照する場合の動作について説明します。

オペレーション

結果

読み取り

指定された識別子にテーブル、マテリアライズドビュー、ストリーミングテーブル、またはビューが存在しない場合、更新は失敗します。

書き込み

指定された識別子にマテリアライズドビュー、ストリーミング テーブル、ビュー、またはシンクが存在しない場合、更新ではデータセットの作成が試行されます。 必要に応じて、更新によって指定されたスキーマも作成されます。

重要

データセットを表示するのに十分な権限がない場合は、データセットが存在しないことを示すエラー メッセージが表示されることがあります。

宣言型パイプラインを使用してデータセットの読み取り、書き込み、および作成を行うには Lakeflow 十分な権限が必要です。 要件を参照してください。