Lakeflow 宣言型パイプラインのプロパティリファレンス
この記事では、 JSONで仕様とDatabricksテーブルのプロパティを設定するLakeflow 宣言型パイプライン のリファレンスを提供します。これらのさまざまなプロパティと構成の使用の詳細については、次の記事を参照してください。
Lakeflow 宣言型パイプラインの構成
-
idタイプ:
stringこのパイプラインのグローバルに一意の識別子。識別子はシステムによって割り当てられ、変更することはできません。
-
nameタイプ:
stringこのパイプラインのユーザーフレンドリな名前。この名前は、UI でパイプライン ジョブを識別するために使用できます。
-
configurationタイプ:
objectパイプラインを実行するクラスターの Spark 構成に追加する設定のオプションの一覧。 これらの設定は、 Lakeflow 宣言型パイプライン ランタイムによって読み取られ、 Spark 構成を通じてパイプライン クエリで使用できます。
要素は
key:valueペアとしてフォーマットする必要があります。 -
librariesタイプ:
array of objectsパイプライン コードと必要なアーティファクトを含むコード ファイルの配列。
-
clustersタイプ:
array of objectsパイプラインを実行するためのクラスターの仕様の配列。
これが指定されていない場合、パイプラインはパイプラインのデフォルト クラスター構成を自動的に選択します。
-
developmentタイプ:
booleanパイプラインを実行するかどうかを示すフラグ
developmentまたはproductionモード。デフォルト値は
true -
notificationsタイプ:
array of objectsパイプラインの更新が完了したとき、再試行可能なエラーで失敗したとき、再試行不可能なエラーで失敗したとき、またはフローが失敗したときの電子メール通知のオプションの仕様の配列。
-
continuousタイプ:
booleanパイプラインを継続的に実行するかどうかを示すフラグ。
デフォルト値は
falseです。 -
catalogタイプ:
stringパイプラインのすべてのデータセットとメタデータが公開される、パイプラインのデフォルト カタログの名前。この値を設定すると、パイプラインのUnity Catalog有効になります。
設定しない場合、パイプラインは、
storageで指定された場所を使用して従来のHive metastoreに公開します。従来の公開モードでは、現在のパイプラインのすべてのデータセットが公開されるターゲット スキーマを含むカタログを指定します。LIVE スキーマ (レガシー)を参照してください。
-
schemaタイプ:
stringパイプラインのデフォルト スキーマの名前。パイプラインのすべてのデータセットとメタデータがデフォルトで公開されます。「ターゲット カタログとスキーマを設定する」を参照してください。
-
target(レガシー)。タイプ:
string現在のパイプラインで定義されているすべてのデータセットが公開されるターゲット スキーマの名前。
schemaの代わりにtargetを設定すると、パイプラインは従来の公開モードを使用するように構成されます。LIVE スキーマ (レガシー)を参照してください。 -
storage(レガシー)。タイプ:
stringパイプライン実行に必要な出力データとメタデータが保存される DBFS またはクラウド ストレージ上の場所。テーブルとメタデータはこの場所のサブディレクトリに保存されます。
storage設定が指定されていない場合、システムはデフォルトでdbfs:/pipelines/内の場所を使用します。パイプラインの作成後は、
storage設定を変更できません。 -
channelタイプ:
string使用する Lakeflow 宣言型パイプライン ランタイムのバージョン。 サポートされている値は次のとおりです。
previewランタイムバージョンに対する今後の変更を使用してパイプラインをテストします。currentをクリックして、現在のランタイムバージョンを使用します。
channelフィールドはオプションです。デフォルト値はcurrent。Databricks 、本番運用ワークロードには現在のランタイム バージョンを使用することをお勧めします。 -
editionType
stringパイプラインを実行するLakeflow 宣言型パイプライン 製品エディション。 この設定により、パイプラインの要件に基づいて最適な製品エディションを選択できます。
COREを使用して、ストリーミング取り込みワークロードを実行します。PRO実行ストリーミング取り込みおよびデータキャプチャ ( CDC ) ワークロードに適用されます。ADVANCEDストリーミングを実行するには、ワークロード、 CDCワークロード、およびデータ品質制約を強制するためにLakeFlow宣言型パイプラインの期待を必要とするワークロードを取り込みます。
editionフィールドはオプションです。デフォルト値はADVANCED。 -
photonタイプ:
booleanパイプラインの実行で Photon を使用するかどうかを示すフラグ。 Photon は、Databricks のハイパフォーマンス Spark エンジンです。 Photon 対応パイプラインは、非 Photon パイプラインとは異なるレートで請求されます。
photonフィールドはオプションです。デフォルト値はfalseです。 -
pipelines.maxFlowRetryAttemptsタイプ:
intパイプラインの更新中に再試行可能な障害が発生した場合、これはパイプラインの更新が失敗するまでにフローを再試行する最大回数です。
デフォルト: 再試行回数は 2 回です。再試行可能なエラーが発生すると、 Lakeflow 宣言型パイプライン ランタイムは、元の試行を含めてフローの実行を 3 回試行します。
-
pipelines.numUpdateRetryAttemptsタイプ:
int更新中に再試行可能な障害が発生した場合、更新が永続的に失敗するまでに更新を再試行する最大回数です。再試行は完全な更新として実行されます。
この問題は、本番運用モードで実行されているパイプラインにのみ適用されます。 開発モードでパイプラインを実行する場合、または
Validate更新を実行する場合、再試行は試行されません。デフォルト:
- トリガーされたパイプラインの場合は 5 つ。
- 継続的なパイプラインの場合は無制限。
Lakeflow 宣言型パイプライン テーブルのプロパティ
Delta Lakeでサポートされているテーブル プロパティに加えて、次のテーブル プロパティを設定できます。
-
pipelines.autoOptimize.zOrderColsデフォルト: なし
このテーブルを Z-order する列名のコンマ区切りリストを含むオプションの文字列。 例えば
pipelines.autoOptimize.zOrderCols = "year,month" -
pipelines.reset.allowedデフォルト:
trueこのテーブルに対して完全な更新が許可されるかどうかを制御します。
-
pipelines.autoOptimize.managedデフォルト:
trueこのテーブルの自動的にスケジュールされた最適化を有効または無効にします。
予測的最適化で管理されるパイプラインでは、このプロパティは使用されません。
パイプラインのトリガー間隔
パイプライントリガー間隔は、パイプライン全体に対して指定することも、データセット宣言の一部として指定することもできます。連続パイプラインのトリガー間隔の設定を参照してください。
-
pipelines.trigger.intervalデフォルトはフローの種類によって異なります。
- ストリーミング クエリの場合は 5 秒。
- すべての入力データが Delta ソースからのものである場合、クエリを完了するには 1 分かかります。
- 一部のデータ ソースがデルタでない場合は、完全なクエリに 10 分かかります。
値は数値と時間単位を加えたものです。有効な時間単位は次のとおりです。
second,secondsminute,minuteshour,hoursday,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"}
ユーザーが設定できない属性のクラスター
Lakeflow宣言型パイプラインはクラスターのライフサイクルを管理するため、多くのクラスター設定は宣言型パイプラインによって設定され Lakeflow パイプライン構成またはパイプラインで使用されるクラスターポリシー でユーザーが手動で構成することはできません。 次の表に、これらの設定と、手動で設定できない理由を示します。
-
cluster_nameLakeflow 宣言型パイプラインは、パイプラインの更新を実行するために使用されるクラスターの名前を設定します。 これらの名前は上書きできません。
-
data_security_modeaccess_modeこれらの値はシステムによって自動的に設定されます。
-
spark_versionLakeflow 宣言型パイプライン クラスターは、最新の機能を含むように継続的に更新される Databricks Runtime のカスタム バージョンで実行されます。 Spark のバージョンは Databricks Runtime バージョンにバンドルされており、オーバーライドすることはできません。
-
autotermination_minutesLakeflow宣言型パイプラインがクラスターの自動終了と再利用ロジックを管理するため、クラスターの自動終了時間をオーバーライドすることはできません。
-
runtime_engineパイプラインで Photon を有効にすることでこのフィールドを制御することはできますが、この値を直接設定することはできません。
-
effective_spark_versionこの値はシステムによって自動的に設定されます。
-
cluster_sourceこのフィールドはシステムによって設定され、読み取り専用です。
-
docker_imageLakeflow宣言型パイプラインがクラスターのライフサイクルを管理するため、パイプライン クラスターでカスタム コンテナを使用することはできません。
-
workload_typeこの値はシステムによって設定され、上書きすることはできません。