Delta Live Tables のプロパティ リファレンス

この記事では、Azure Databricks での Delta Live Tables の JSON 設定の仕様とテーブル プロパティのリファレンスを提供します。 これらのさまざまなプロパティと構成の使用について詳しくは、次の記事を参照してください。

Delta Live Tables パイプラインの構成

Fields
id

型: string

このパイプラインのグローバル一意識別子。 識別子はシステムによって割り当てられるので、変更することはできません。
name

型: string

このパイプラインのユーザー フレンドリ名。 この名前は、UI でパイプライン ジョブを識別するために使用できます。
storage

型: string

パイプラインの実行に必要な出力データとメタデータが格納される DBFS またはクラウド ストレージ上の場所。 テーブルとメタデータは、この場所のサブディレクトリに格納されます。

storage 設定を指定しない場合、システムは既定で dbfs:/pipelines/ 内の場所に設定されます。

パイプラインの作成後に storage 設定を変更することはできません。
configuration

型: object

パイプラインを実行するクラスターの Spark 構成に追加する省略可能な設定のリスト。 これらの設定は Delta Live Tables ランタイムによって読み取られ、Spark 構成を介してパイプライン クエリで使用できます。

要素は key:value ペアとして書式設定する必要があります。
libraries

型: array of objects

パイプライン コードと必要な成果物を含むノートブックの配列。
clusters

型: array of objects

パイプラインを実行するクラスターの仕様の配列。

これが指定されていない場合、パイプラインはパイプラインの既定のクラスター構成を自動的に選択します。
development

型: boolean

パイプラインを実行するかどうかを示すフラグ
development または production モード。

既定値は true
notifications

型: array of objects

パイプラインが更新を完了したとき、再試行可能なエラーで失敗したとき、再試行不可能なエラーで失敗したとき、またはフローが失敗したときの、メール通知に関する指定のオプションの配列。
continuous

型: boolean

パイプラインを継続的に実行するかどうかを示すフラグ。

既定値は false です。
target

型: string

パイプライン出力データを永続化するデータベースの名前。 target 設定を構成すると、Azure Databricks UI からパイプライン出力データを表示してクエリすることができます。
channel

型: string

使用する Delta Live Tables ランタイムのバージョン。 サポートされる値は

ランタイム バージョンの今後の変更でパイプラインをテストする * preview
* current では、現行のランタイム バージョンを使用します。

channel フィールドは省略可能です。 既定値は
current Databricks では、運用環境のワークロードに、現在のランタイム バージョンを使用することをお勧めします。
edition

string」と入力します

パイプラインを実行する Delta Live Tables 製品エディション。 この設定を使用すると、パイプラインの要件に基づいて、最適な製品エディションを選択できます。

* CORE では、ストリーミング取り込みワークロードを実行します。
* PRO では、ストリーミング取り込みと変更データ キャプチャ (CDC) ワークロードを実行します。
* ADVANCED では、ストリーミング取り込みワークロード、CDC ワークロード、データ品質制約の適用に Delta Live Tables の期待値を必要とするワークロードを実行します。

edition フィールドは省略可能です。 既定値は
ADVANCED
photon

型: boolean

パイプラインを実行するために「Photon とは」を使うかどうかを示すフラグ。 Photon は、Azure Databricks の高性能 Spark エンジンです。 Photon が有効なパイプラインと Photon が有効でないパイプラインでは、請求される料金が異なります。

photon フィールドは省略可能です。 既定値は false です。
pipelines.maxFlowRetryAttempts

型: int

再試行可能なエラーが発生したときに、パイプラインの更新が失敗と判定されるまでのフローの最大再試行回数。

既定値は 2 です。 既定では、再試行可能なエラーが発生すると、Delta Live Tables ランタイムは最初の試行を含めて 3 回フローの実行を試みます。
pipelines.numUpdateRetryAttempts

型: int

再試行可能なエラーが発生したときに、更新が失敗と判定されるまでの更新の最大再試行回数。 再試行は完全更新として実行されます。

既定値は 5 です。 このパラメーターは、実稼働モードで実行されるトリガーされた更新にのみ適用されます。 パイプラインが開発モードで実行されている場合、再試行はありません。

Delta Live Tables テーブルのプロパティ

Delta Lake でサポートされているテーブルのプロパティに加えて、次のテーブルのプロパティを設定できます。

テーブルのプロパティ
pipelines.autoOptimize.managed

既定値: true

このテーブルの自動的にスケジュールされる最適化を有効または無効にします。
pipelines.autoOptimize.zOrderCols

既定値: なし

このテーブルに Z オーダーを指定するために使用する、列名のコンマ区切りの一覧が含まれる文字列 (省略可能)。 たとえば、pipelines.autoOptimize.zOrderCols = "year,month" のように指定します。
pipelines.reset.allowed

既定値: true

このテーブルの完全な更新を許可するかどうかを制御します。

CDC テーブルのプロパティ

注: 廃棄標識の管理動作を制御するためのこれらのプロパティは非推奨になり、パイプラインの設定に置き換えられます。 既存または新規のパイプラインでは、新しいパイプライン設定を使う必要があります。 「SCD タイプ 1 クエリの廃棄標識の管理を制御する」をご覧ください。

次のテーブル プロパティは、CDC 使用時の DELETE イベントに関する廃棄標識管理の動作を制御するために追加されています。

テーブルのプロパティ
pipelines.cdc.tombstoneGCThresholdInSeconds

既定値: 5 分

この値は、順序が正しくないデータ間の予想される最も高い間隔と照合する値に設定します。
pipelines.cdc.tombstoneGCFrequencyInSeconds

既定値: 60 秒

廃棄標識のクリーンアップをチェックする頻度を制御します。

APPLY CHANGES API: Delta Live Tables の変更データ キャプチャを簡略化する」を参照してください。

パイプライン トリガーの間隔

Delta Live Tables パイプラインの全体に対し、またはデータセットの宣言の一部として、パイプライン トリガーの間隔を指定できます。 「パイプライン トリガーの間隔」をご覧ください。

pipelines.trigger.interval
既定値は、フローの種類に基づいています。

* ストリーミング クエリの場合は 5 秒。
* すべての入力データが Delta ソースからのものである場合は、クエリの完了に 1 分かかります。
* 一部のデータ ソースが Delta 以外である可能性がある場合は、クエリの完了に 10 分かかります。

値は数値と時間単位の組み合わせです。 有効な時間単位は次のとおりです。

* second, seconds
* minute, minutes
* hour, hours
* day, days

値を定義するときには、単数形または複数形の単位を使用できます。次に例を示します。

* {"pipelines.trigger.interval" : "1 hour"}
* {"pipelines.trigger.interval" : "10 seconds"}
* {"pipelines.trigger.interval" : "30 second"}
* {"pipelines.trigger.interval" : "1 minute"}
* {"pipelines.trigger.interval" : "10 minutes"}
* {"pipelines.trigger.interval" : "10 minute"}

ユーザーが設定できないクラスター属性

クラスターのライフサイクルは Delta Live Tables で管理されるため、多くのクラスター設定は Delta Live Tables によって設定され、パイプライン構成またはパイプラインで使用されるクラスター ポリシーでは、ユーザーが手動で構成することはできません。 次の表は、このような設定の一覧と、手動で設定できない理由です。

Fields
cluster_name

パイプライン更新の実行に使われるクラスターの名前は、Delta Live Tables によって設定されます。 これらの名前はオーバーライドできません。
data_security_mode
access_mode

これらの値はシステムによって自動的に設定されます。
spark_version

Delta Live Tables クラスターは、継続的に最新の機能を含むよう更新される Databricks Runtime のカスタム バージョンで実行されます。 Spark のバージョンは Databricks Runtime のバージョンにバンドルされており、オーバーライドできません。
autotermination_minutes

クラスターの自動終了と再利用ロジックは Delta Live Tables によって管理されるため、クラスターの自動終了時間はオーバーライドできません。
runtime_engine

パイプラインで Photon を有効にすることによりこのフィールドを制御できますが、この値を直接設定することはできません。
effective_spark_version

この値はシステムによって自動的に設定されます。
cluster_source

このフィールドはシステムによって設定され、読み取り専用です。
docker_image

クラスターのライフサイクルは Delta Live Tables によって管理されるため、カスタム コンテナーをパイプライン クラスターで使うことはできません。
workload_type

この値はシステムによって設定され、オーバーライドできません。