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

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 、本番運用ワークロードには現在のランタイム バージョンを使用することをお勧めします。

  • edition

    Type 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, 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"}

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

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

  • cluster_name

    Lakeflow 宣言型パイプラインは、パイプラインの更新を実行するために使用されるクラスターの名前を設定します。 これらの名前は上書きできません。

  • data_security_mode

    access_mode

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

  • spark_version

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

  • autotermination_minutes

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

  • runtime_engine

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

  • effective_spark_version

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

  • cluster_source

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

  • docker_image

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

  • workload_type

    この値はシステムによって設定され、上書きすることはできません。