パイプラインプロパティリファレンス
パイプライン JSON 構成設定とテーブル プロパティのリファレンス。これらのプロパティと構成の使用方法に関する詳細については、次の記事を参照してください。
LakeFlow Pipelinesの構成とApache Spark™ 宣言型パイプライン
Lakeflowパイプラインは、Apache Spark™ Declarative Pipelines (SDP) をベースとしています。パイプラインの構成は、SDPプロジェクト仕様のスーパーセットにほぼ該当します。SDPとLakeFlow Pipelines間のプロパティ使用法の違いについて記載されています。LakeFlow Pipelinesと SDP が共有する機能の比較については、Apache Spark宣言型パイプラインを参照してください。
パイプライン構成
-
idタイプ:
stringこのパイプラインのグローバルに一意の識別子。識別子はシステムによって割り当てられ、変更することはできません。
Lakeflow pipelines のみです。SDP はパイプライン識別子を割り当てません。
-
nameタイプ:
stringこのパイプラインのユーザーフレンドリな名前。この名前は、UI でパイプライン ジョブを識別するために使用できます。
SDP で必須の
nameフィールドとして利用可能 -
configurationタイプ:
objectパイプラインを実行するクラスターのSpark構成に追加するオプションの設定リスト。これらの設定はパイプラインのランタイムによって読み込まれ、Spark構成を通じてパイプラインのクエリーから利用可能です。
要素は
key:valueペアとしてフォーマットする必要があります。SDPで利用可能
configuration -
parametersタイプ:
object
ベータ版
この機能はベータ版です。ワークスペース管理者は、 プレビュー ページからこの機能へのアクセスを制御できます。Databricksのプレビューを管理するを参照してください。
パイプライン ソース コードが名前付きパラメーター構文を使用して参照できる、キーと値のペアのオプションのマップです(例: :source_catalog)。パラメーターを活用することで、ソースを編集することなく、複数の環境やデータセットにわたって同じパイプラインのソースコードを再利用できます。
_``-``.キーには英数字、アンダースコア、ハイフン、ピリオドを含めることができます。値は常に文字列です。
これらのデフォルトは、更新開始時に、ジョブ内のパイプライン タスクで、またはプッシュダウンされたジョブ パラメーターを使用して上書きできます。パイプラインパラメーターはSQLソースコードからのみ参照できます。パイプラインでのパラメーターの使用を参照してください。
LakeFlow Pipelines のみです。
-
librariesタイプ:
array of objectsパイプライン コードと必要なアーティファクトを含むコード ファイルの配列。
SDPでは
librariesとして利用可能で、コードファイルオブジェクトの配列ではなく、ソースファイルグロブパターンのリストとして指定されます。 -
clustersタイプ:
array of objectsパイプラインを実行するためのクラスターの仕様の配列。
これが指定されていない場合、パイプラインはパイプラインのdefaultクラスター構成を自動的に選択します。
LakeFlow Pipelinesのみ。SDPはコンピュートを管理しません。
-
developmentタイプ:
booleanパイプラインを実行するかどうかを示すフラグ
developmentまたはproductionモード。デフォルト値は
falseです。LakeFlow Pipelines のみです。
-
notificationsタイプ:
array of objectsパイプラインの更新が完了したとき、再試行可能なエラーで失敗したとき、再試行不可能なエラーで失敗したとき、またはフローが失敗したときの電子メール通知のオプションの仕様の配列。
LakeFlow Pipelines のみです。
-
continuousタイプ:
booleanパイプラインを継続的に実行するかどうかを示すフラグ。
デフォルト値は
falseです。LakeFlow Pipelines のみです。
-
catalogタイプ:
stringパイプラインのすべてのデータセットとメタデータが公開される、パイプラインのデフォルト カタログの名前。この値を設定すると、パイプラインのUnity Catalog有効になります。
設定しない場合、パイプラインは、
storageで指定された場所を使用して従来のHive metastoreに公開します。従来の公開モードでは、現在のパイプラインのすべてのデータセットが公開されるターゲット スキーマを含むカタログを指定します。LIVE スキーマ (レガシー)を参照してください。
SDPで利用可能
catalog -
schemaタイプ:
stringパイプラインのデフォルト スキーマの名前。パイプラインのすべてのデータセットとメタデータがデフォルトで公開されます。「ターゲット カタログとスキーマを設定する」を参照してください。
SDP で、エイリアスも受け付ける
databaseとして利用可能ですschema -
target(レガシー)。タイプ:
stringパイプラインのdefaultスキーマ名。ここでは、パイプラインのすべてのデータセットとメタデータがdefaultで公開されます。
targetの代わりにschemaを使用することが推奨されます。LakeFlow Pipelines のみです。
-
storage(レガシー)。タイプ:
stringパイプライン実行に必要な出力データとメタデータが保存される DBFS またはクラウド ストレージ上の場所。テーブルとメタデータはこの場所のサブディレクトリに保存されます。
storage設定が指定されていない場合、システムはdbfs:/pipelines/の場所にdefaultされます。パイプラインの作成後は、
storage設定を変更できません。必要な
storageフィールドとしてSDPで利用可能です。LakeFlow Pipelinesでは、storageはレガシー設定です。 -
channelタイプ:
string使用するパイプラインのランタイムのバージョン。サポートされる値は次のとおりです。
previewランタイムバージョンに対する今後の変更を使用してパイプラインをテストします。currentをクリックして、現在のランタイムバージョンを使用します。
channelフィールドはオプションです。デフォルト値はcurrent。Databricks 、本番運用ワークロードには現在のランタイム バージョンを使用することをお勧めします。LakeFlow Pipelines のみです。
-
editionType
stringパイプラインを実行するための製品エディション。この設定により、パイプラインの要件に基づいて最適な製品エディションを選択できます:
COREを使用して、ストリーミング取り込みワークロードを実行します。PRO実行ストリーミング取り込みおよびデータキャプチャ ( CDC ) ワークロードに適用されます。ADVANCEDストリーミング取り込みワークロード、CDC ワークロード、およびデータ品質制約の適用が期待されるワークロードを実行します。
editionフィールドはオプションです。デフォルト値はADVANCED。LakeFlow Pipelines のみです。
-
photonタイプ:
booleanパイプラインの実行で Photon を使用するかどうかを示すフラグ。 Photon は、Databricks のハイパフォーマンス Spark エンジンです。 Photon 対応パイプラインは、非 Photon パイプラインとは異なるレートで請求されます。
photonフィールドはオプションです。デフォルト値はfalseです。LakeFlow Pipelines のみです。
-
serverlessタイプ:
booleanパイプラインがServerlessコンピュートを使用するかどうかを示すフラグ。「Serverlessパイプラインの構成」を参照してください。
LakeFlow Pipelines のみです。
-
event_logタイプ:
objectパイプラインのイベントログ宛先の設定。これは、イベントログをUnity Catalogテーブルに公開する
name、catalog、およびschemaのフィールドを持つオブジェクトです。パイプライン イベント logを参照してください。LakeFlow Pipelines のみです。
-
tagsタイプ:
objectパイプラインのユーザー定義タグのオプションのマップ。最大25個のタグを追加できます。
LakeFlow Pipelines のみです。
-
budget_policy_idタイプ:
stringこのパイプラインに適用するサーバレス予算ポリシーのID。コスト追跡のためのサーバレス使用状況を割り当てるために使用されます。このフィールドは、ポリシーを明示的に設定した場合にのみJSONまたはYAML設定に表示されます。設定されていない場合、Databricksは自動的にdefaultポリシーを解決します。解決されたポリシーはパイプライン設定UIに表示されますが、JSONまたはYAML設定には書き込まれません。
LakeFlow Pipelines のみです。
-
root_pathタイプ:
stringパイプラインのルートパスです。設定すると、このディレクトリは Python ソースファイルの実行時に
sys.pathに追加されるため、モジュールを相対的にインポートできます。LakeFlow Pipelines のみです。
-
environmentタイプ:
objectパイプラインのPython依存関係をインストールするために使用される環境仕様。
LakeFlow Pipelines のみです。
-
pipelines.maxFlowRetryAttemptsタイプ:
intパイプラインの更新中に再試行可能な障害が発生した場合、パイプラインの更新が失敗と判断される前にフローを再試行できる最大回数です。
これを使用して、再試行可能な失敗が発生しやすい単一のフローに対する再試行回数を制限し、更新全体が停止しないようにします。
default: 再試行2回。再試行可能なエラーが発生した場合、パイプラインランタイムは、最初の試行を含め、フローを3回実行しようとします。
LakeFlow Pipelines のみです。
-
pipelines.numUpdateRetryAttemptsタイプ:
int更新中に再試行可能な障害が発生した場合、更新が永続的に失敗するまでに更新を再試行する最大回数です。再試行は完全な更新として実行されます。
これを使用すると、更新全体に対する再試行回数を制限できます。これにより、更新が停止した場合に、無期限に再試行するのではなく、完全に失敗させることができます。
この問題は、自動再試行および再起動動作を使用するパイプラインにのみ適用されます。 エディタから実行されるアドホック更新、または
Validate更新を実行する場合、再試行は行われません。デフォルト:
- トリガーされたパイプラインの場合は 5 つ。
- 継続的なパイプラインの場合は無制限。
LakeFlow Pipelines のみです。
パイプラインテーブルのプロパティ
Delta Lakeでサポートされているテーブル プロパティに加えて、次のテーブル プロパティを設定できます。
-
pipelines.autoOptimize.zOrderColsデフォルト: なし
このテーブルを Z-order する列名のコンマ区切りリストを含むオプションの文字列。 例えば
pipelines.autoOptimize.zOrderCols = "year,month"Databricks は、パイプラインテーブルのデータレイアウトを最適化するために、Z-Ordering の代わりにリキッドクラスタリングをお勧めします。Databricks がクラスタリング列を自動的に選択および維持するようにするには、
CLUSTER BY AUTOを使用してください(cluster_by_auto=Trueは Python の場合)。「テーブルにリキッドクラスタリングを使用する」を参照してください。LakeFlow Pipelines のみです。
-
pipelines.reset.allowedデフォルト:
trueこのテーブルに対して完全な更新が許可されるかどうかを制御します。
SDPで利用可能
pipelines.reset.allowed -
pipelines.autoOptimize.managedデフォルト:
trueこのテーブルの自動的にスケジュールされた最適化を有効または無効にします。
予測的最適化で管理されるパイプラインでは、このプロパティは使用されません。
LakeFlow Pipelines のみです。
パイプラインのトリガー間隔
パイプライントリガー間隔は、パイプライン全体に対して指定することも、データセット宣言の一部として指定することもできます。連続パイプラインのトリガー間隔の設定を参照してください。
-
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 Pipelines のみです。
ユーザーが設定できないクラスター属性
パイプラインはクラスターのライフサイクルを管理するため、多くのクラスター設定はシステムによって設定され、パイプライン設定またはパイプラインで使用されるクラスターポリシーのいずれにおいても、ユーザーが手動で構成することはできません。次の表に、これらの設定と手動で設定できない理由を示します。
Lakeflow pipelines のみです。SDPはコンピュートを管理しないため、これらのクラスター属性は適用されません。
-
cluster_nameSDP は、パイプラインの更新を実行するために使用されるクラスターの名前を設定します。これらの名前は上書きできません。
-
data_security_modeaccess_modeこれらの値はシステムによって自動的に設定されます。
-
spark_versionSDP クラスターは、最新の機能が含まれるように継続的に更新される Databricks Runtime のカスタム バージョンで実行されます。Spark のバージョンは Databricks Runtime バージョンにバンドルされており、オーバーライドすることはできません。
-
autotermination_minutesSDP はクラスターの自動終了と再利用ロジックを管理するため、クラスターの自動終了時間をオーバーライドすることはできません。
-
runtime_engineパイプラインで Photon を有効にすることでこのフィールドを制御することはできますが、この値を直接設定することはできません。
-
effective_spark_versionこの値はシステムによって自動的に設定されます。
-
cluster_sourceこのフィールドはシステムによって設定され、読み取り専用です。
-
docker_imageSDP はクラスターのライフサイクルを管理するため、パイプライン クラスターではカスタム コンテナーを使用できません。
-
workload_typeこの値はシステムによって設定され、上書きすることはできません。
ソースとクエリーのオプション
一部のデータ取り込みと処理の動作は、パイプラインプロパティとしてではなく、データソースまたはクエリーで構成されます。これらには、スキーマ進化、スキーマヒントと推論、取り込みレート制限、ファイルフィルタリングが含まれます。これらを構成するには、read_filesとAuto Loaderのオプションを使用します。from_jsonを使用したスキーマ進化については、パイプラインでfrom_jsonを使用してスキーマを推論および進化させるを参照してください。