次の方法で共有


パイプラインプロパティリファレンス

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

パイプラインの構成

  • id

    タイプ: string

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

  • name

    タイプ: string

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

  • configuration

    タイプ: object

    パイプラインを実行するクラスターの Spark 構成に追加する省略可能な設定のリスト。 これらの設定は、Lakeflow Spark 宣言パイプライン ランタイムによって読み取られ、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 カタログが有効になります。

    設定されていない場合、パイプラインは、storageで指定された場所を使用してレガシ Hive メタストアに公開します。

    レガシ発行モードでは、現在のパイプラインのすべてのデータセットが発行されるターゲット スキーマを含むカタログを指定します。 LIVE スキーマ (レガシー)を参照してください。

  • schema

    タイプ: string

    パイプラインの既定のスキーマの名前。パイプラインのすべてのデータセットとメタデータが既定で発行されます。 「ターゲット カタログとスキーマのを設定する」を参照してください。

  • target (レガシ)

    タイプ: string

    現在のパイプラインで定義されているすべてのデータセットが発行されるターゲット スキーマの名前。

    target ではなく schema を設定すると、従来の発行モードを使用するようにパイプラインが構成されます。 LIVE スキーマ (レガシー)を参照してください。

  • storage (レガシ)

    タイプ: string

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

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

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

  • channel

    タイプ: string

    使用する Lakeflow Spark 宣言パイプライン ランタイムのバージョン。 サポートされる値は

    • ランタイム バージョンの今後の変更でパイプラインをテストする preview
    • current から現在のランタイム バージョンの更新。

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

  • edition

    string」と入力します

    パイプラインを実行するための「Lakeflow Spark Declarative Pipelines」製品エディション。 この設定を使用すると、パイプラインの要件に基づいて、最適な製品エディションを選択できます。

    • CORE: ストリーミング取り込みワークロードを実行します。
    • PRO ストリーミングのインゲストおよび変更データキャプチャ (CDC) のワークロードを実行するために使用します。
    • ADVANCED ストリーミングインジェストワークロード、CDCワークロード、およびデータ品質制約を適用する必要があるワークロードを実行する場合。

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

  • photon

    タイプ: boolean

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

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

  • pipelines.maxFlowRetryAttempts

    タイプ: int

    パイプラインの更新中に再試行可能なエラーが発生した場合、これはパイプラインの更新に失敗するまでにフローを再試行する最大回数です

    既定値: 2 回の再試行。 再試行可能なエラーが発生すると、Lakeflow Spark 宣言パイプライン ランタイムは、元の試行を含め、フローの実行を 3 回試行します。

  • pipelines.numUpdateRetryAttempts

    タイプ: int

    更新中に再試行可能なエラーが発生した場合、これは更新を完全に失敗させる前に更新を再試行する最大回数です。 再試行は完全更新として実行されます。

    このパラメーターは、運用モードで実行されているパイプラインにのみ適用されます。 パイプラインが開発モードで実行されている場合、または Validate 更新を実行する場合、再試行は試行されません。

    既定値は

    • トリガーされたパイプラインの場合は 5 つ。
    • 連続パイプラインの場合は無制限。

パイプライン テーブルのプロパティ

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

  • pipelines.autoOptimize.zOrderCols

    既定値: なし

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

  • pipelines.reset.allowed

    既定値: true

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

  • pipelines.autoOptimize.managed

    既定値: true

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

    予測最適化によって管理されるパイプラインの場合、このプロパティは使用されません。

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

パイプライン全体またはデータセット宣言の一部として、パイプライン トリガー間隔を指定できます。 継続的パイプラインのトリガー間隔の設定を参照してください。

  • pipelines.trigger.interval

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

    • ストリーミング クエリの場合は 5 秒。
    • すべての入力データがデルタ ソースからの場合、完全なクエリに対して 1 分。
    • 一部のデータソースが非デルタフォーマットである場合、クエリの完了に10分かかることがある。

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

    • secondseconds
    • minuteminutes
    • hourhours
    • daydays

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

    • {"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 Spark 宣言パイプライン (SDP) はクラスターのライフサイクルを管理するため、多くのクラスター設定はシステムによって設定され、パイプライン構成またはパイプラインで使用されるクラスター ポリシーでは、ユーザーが手動で構成することはできません。 次の表は、このような設定の一覧と、手動で設定できない理由です。

  • cluster_name

    SDP は、パイプライン更新の実行に使用されるクラスターの名前を設定します。 これらの名前はオーバーライドできません。

  • data_security_mode

    access_mode

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

  • spark_version

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

  • autotermination_minutes

    SDP はクラスターの自動終了と再利用ロジックを管理するため、クラスターの自動終了時間をオーバーライドすることはできません。

  • runtime_engine

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

  • effective_spark_version

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

  • cluster_source

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

  • docker_image

    SDP はクラスターのライフサイクルを管理するため、パイプライン クラスターでカスタム コンテナーを使用することはできません。

  • workload_type

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