注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Build は Foundry で datasets の新しいバージョンを計算するためのメカニズムです。Builds は計算のオーケストレーションとコーディネーションを提供し、適切な入力データを読み取り、出力データを適切な場所に書き込みます。
Build は jobs で構成され、それぞれが共有ロジックによって定義される作業単位であり、1 個以上の出力データセットを計算します。ジョブが複数の出力データセットを定義する場合、それらは常に一緒に更新され、ジョブ全体を実行せずにデータセットの一部だけをビルドすることはできません。ジョブ仕様、または JobSpec は、ジョブの構築方法を定義するものです。JobSpecs は、たとえばデータエンジニアが Code Repository に新しいトランスフォームコードをコミットするなど、Foundry でデータ変換ロジックに変更が加えられたときに公開されます。
ビルドを実行すると、一連の出力データセットの一度限りの計算が行われます。システム内でデータの流れを維持するために、schedules を使用してビルドを定期的に実行します。
Builds アプリケーション を使用して Foundry 内のビルドを探索できます。
job は、一連の入力データセットのデータから 1 個以上の 出力データセット の新しいバージョンを計算するものです。JobSpec は、入力データセットの依存関係と、ジョブの一部として実行されるロジックの詳細を示してジョブを構築する方法を定義します。
入力データセットの依存関係は、一連の InputSpecs として宣言され、それぞれが特定の入力データセットを指定します。InputSpecs は、データセットのビューに関して読み取るデータのサブセットを指定します。
Foundry では多くの種類のロジックがジョブとして表現される可能性がありますが、以下に限りません:
任意の時点で、ジョブは以下のいずれかの状態にあります:
WAITING
: ジョブの初期状態です。依存するジョブが完了するのを待っており、まだ実行されていません。RUN_PENDING
: ジョブは実行待ちですが、実行環境はまだステータスを確認していません。RUNNING
: ジョブが呼び出され、現在計算中です。ABORT_PENDING
: ジョブが中断されましたが、実行環境はまだ中断されたステータスを確認していません。ABORTED
: ジョブはユーザーの要求に応じて、または依存ジョブの失敗の結果として中断されました。FAILED
: ジョブが呼び出されましたが、計算が失敗しました。COMPLETED
: ジョブが呼び出され、計算が正常に終了しました。ビルドが実行されると、送信されたビルドを検証し、データの一貫性を確保し、新しい出力を生成するために必要なジョブのみを実行するために、いくつかのステップが実行されます。
最初のステップとして、ビルドは以下のことを行います:
上記のステップが完了すると、ビルド内のジョブが実行されます。互いに依存しないジョブは並行して実行されます。ジョブが job states を進むと、全体のビルドの状態がそれに応じて更新されます:
ビルド内のジョブが失敗した場合、以前に完了したジョブはその出力データセットにデータを書き込んでいる可能性があることに注意してください。
出力データセットは、build resolution ステップが、入力データセットと JobSpec 内で指定されたロジックが前回の出力データセットのビルド以降変更されていないと判断した場合に 新鮮 であると見なされます。出力データセットが新鮮である場合、それは後続のビルドで再計算されません。
ビルドシステムのデフォルトの古さの動作を上書きするには、force build を実行して、すでに最新であるかどうかに関係なく、ビルドの一部としてすべてのデータセットを再計算できます。
Foundry のビルドは branching を実装して、データパイプラインの共同作業ワークフローをサポートします。Branching についてさらに学ぶには:
ライブログは、実行中のジョブへのリアルタイムの可視性を提供し、ジョブの進行状況を監視し、ストリームや計算モジュールなどの長時間実行されるタスクを検査することができます。
ライブログには Builds アプリケーションを通じてアクセスできます。ジョブを表示する際、ログビューワーの右上隅にある View live ボタンを選択して生成を開始します。
ライブログの主要な機能の 1 つは、ログレベルごとの組み込みの色分けであり、警告やエラーを特定して優先順位をつけやすくします:
さらに、安全なパラメーターとパラメーターは JSON ブロックとして表示され、データの構造化された読みやすい形式を提供します。
インターフェースの右上から Pause を選択することで、任意の時点でライブログフィードを停止し、同じ場所から再開できます。
時間範囲の選択はライブログには適用されないことに注意してください。ジョブからリアルタイムでストリーミングされます。
有効にすると、ライブログがインターフェースに表示されるまでに 10 秒の遅延が発生する場合があります。