データ接続と統合Pipeline Builderパイプラインの出力パイプラインのデリバリー

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

パイプラインをデリバリーする

Pipeline Builder でパイプラインの定義を完了し、スキーマエラーを解決したら、パイプラインをデリバリーする準備が整います。

デプロイとビルドの違い

デプロイはパイプラインの出力のロジックを更新し、ビルドはそのロジックを実行してロジックの変更を実体化します。

ビルドには時間とリソースが大量に必要になる場合があります。特に、データの規模が大きい場合や、パイプラインの入力全体を再処理する場合はその傾向があります。このような理由などから、ビルドせずにパイプラインをデプロイすることもできます。デプロイのみを選択すると、ビルドが必要になるまでビルドのコストを先送りできます。

変更をデリバリーする

定義したすべてのロジックを含む最初のエンドツーエンドのパイプラインをデリバリーするには、上部ツールバーの右側にあるデプロイを選択します。

デプロイボタンのスクリーンショット

ビルド設定ドロップダウンのスクリーンショット

ロジックの変更をデプロイした後、どの出力をビルドするかを選択できます。ビルドはジョブグループごとに実行されます。つまり、任意のジョブグループ内のすべての出力、またはグループ化されていない個別の出力を選択してビルドできます。グループ化されていない出力は、識別しやすいように、ビルド設定パネル内の専用のグループ化されていない単一ジョブセクションに表示されます。オントロジータイプの出力は常にビルドする必要があるため、オントロジータイプの出力を含むジョブグループは必ずビルドする必要があります。

デプロイが正常に開始されると、グラフの上部に青いバナーが表示されます。表示を選択すると、Build の詳細ビューにアクセスできます。

デプロイのスクリーンショット

Build の詳細ビューでは、ビルド情報、進行状況のメトリクス、およびビルドスケジュールの詳細を確認できます。

Build の詳細のスクリーンショット

  • Build 情報: パイプラインのステータス、合計所要時間、および推定所要時間を表示します。開始時刻と終了時刻、開始したユーザー、ジョブリスト内の進行状況、ビルドIDなど、さまざまなメタデータも確認できます。

  • Build の進行状況: パイプラインのビルドの詳細を、時間軸に沿ったガントチャートで表示します。

  • ビルドスケジュール: パイプラインのビルドスケジュールの名前、頻度、ステータス履歴、および最終変更日を表示します。

  • 詳細な進行状況: 切り替えると、ビルドが開始中、プロジェクトのリソースキューで待機中、Spark アプリケーションを初期化中、実行中、または終了処理中のいずれであるかを確認できます。

リプレイ戦略の情報

デプロイに破壊的な状態変更が含まれる場合、Pipeline Builder はデプロイのタイムラインにリプレイ戦略の情報を表示します。破壊的変更が検出されたかどうか、および選択されたリプレイ戦略を確認できます。この情報はデプロイイベントの詳細にタスク行として表示され、デプロイ中にリプレイについてどのような判断が行われたかを把握するのに役立ちます。

破壊的変更とリプレイ戦略の詳細については、破壊的変更のドキュメントを参照してください。

ビルド設定

デプロイの横にある設定アイコンをクリックすると、パイプラインのビルド設定を編集できます。次のコンピューティング設定から選択します。

  • デフォルト: デフォルトの自動スケーリングプロファイルです。エグゼキューターのコア数とメモリー使用量が最も少なくなります。
  • 中: スケールアップが遅く、スケールダウンが速いコンピューティングリソースを提供します。
  • 大きい: スケールアップが遅く、スケールダウンが速いコンピューティングリソースを提供します。
    • 注:より大きいプロファイルでのビルドは、より速く完了する場合がありますが、コンピューティングコストが高くなります。

マネージドプロファイルやウォームプールプロファイルなどのプロファイル管理戦略を含む詳細な設定オプションについては、ビルド設定のドキュメントを参照してください。

ビルド設定ドロップダウンのスクリーンショット

埋め込みや LLM などのモデルによって計算コストが高くなるデータ加工がパイプラインに含まれている場合、Pipeline Builder は警告メッセージを表示して通知します。これらの警告は、最適なパフォーマンスを得るために適切なコンピューティングリソースを設定できるビルド設定メニューへと案内します。

保存する

Pipeline Builder では、デプロイを開始せずにパイプラインの変更を保存できます。この柔軟性により、ロジックの変更を本番環境に反映せずにワークフローを編集できます。

ワークフローを変更したら、上部ツールバーの保存を選択します。

保存ボタンのスクリーンショット

先に提案をクリックすると、現在の状態が自動的に保存されます。

変更を保存するだけでデプロイしない場合、パイプラインのロジックには最新の変更が反映されません。データ加工のロジックの変更を反映するには、パイプラインをデプロイする必要があります。

出力ノードからビルドする

パイプライングラフの外にある Build オプションでは、前回のデプロイ以降に行った変更はパイプラインのロジックに反映されません。ロジックを更新して出力に反映するには、パイプライングラフに戻り、デプロイを選択します。

パイプライングラフの外に移動した場合でも、パイプラインのビルドを開始できます。たとえば、出力ノードを右クリックして開くを選択すると、データセットのプレビューを開くことができます。その後、インターフェースの右上にある Build をクリックしてビルドを開始できます。

Build の詳細のスクリーンショット

ストリーミングパイプラインの追加オプション

ストリーミングパイプラインを実行している場合は、追加のオプションを利用できます。ストリーミングパイプラインは、一部のアカウントでのみ利用可能です。詳しくは、Palantir の担当者にお問い合わせください。

必要に応じて、デプロイ時にリプレイを使用し、過去の特定の時点から計算を開始するようにパイプラインに指示できます。

誤ってストリームをリプレイしたことによる予期しないダウンタイムを防ぐため、パイプラインをデプロイパネルの詳細設定セクションは、デフォルトですべてのリプレイオプションが未選択の状態で折りたたまれています。これにより、状態の破壊の有無にかかわらず、ストリーミングワークフローとインクリメンタル(差分処理)スナップショットワークフローの両方が保護されます。

詳細設定セクションを展開すると、リプレイによる影響が明示的に表示されます。選択したデータの一部を再処理し、すべてのステートフルトランスフォームをリセットするには、意図的な操作が必要です。

デプロイウィンドウで、パイプラインの配信におけるデータ処理の開始時刻を選択します。

  • 入力データの先頭: 入力ストリームの先頭からすべてのデータが処理されます。
  • 指定した時刻から: データの処理を開始する時刻の値を選択します。この時刻より前のデータは処理されません。たとえば、直近2か月のデータのみを含めるには、2 months 前を選択します。

デプロイ時にリプレイボタンのスクリーンショット

リプレイ戦略を選択すると、リプレイ戦略の確認モーダルが表示され、実行前に戦略の説明と下流への影響の確認が行われます。

リプレイするとストリーム履歴が破棄され、下流のリプレイが強制されます

パイプラインをリプレイすると、ダウンタイムが長くなり、数日に及ぶ可能性があります。パイプラインをリプレイすると、ストリーム履歴が失われ、下流でパイプラインを利用するすべてのコンシューマーもリプレイする必要があります。

状態の破壊が発生すると、Pipeline Builder はリプレイをエラータブに移動し、破壊が修正されるまでパイプラインのデプロイをブロックします。

リプレイの詳細については、破壊的変更のドキュメントを参照してください。

再デプロイとリプレイの比較

ストリームの再デプロイとは、以前に保存されたチェックポイントからストリーミングジョブを再開する処理を指します。ストリーミングジョブが一時停止または停止すると、レコードを読み取った位置を示すブックマークがデータ内に作成されます。チェックポイントとも呼ばれるブックマークは、ストリームの実行中にも定期的に作成されます。これにより、何らかの理由でストリームに障害が発生した場合に復旧できます。

この仕組みにより、ストリームを再起動すると、その特定のチェックポイントから処理が再開されます。再デプロイ中は、既存の出力ストリームが保持され、新しいデータがそこに追加されます。

一方、ストリームのリプレイでは、出力ストリームの新しいビューが生成されます。データセットに新しいビューを作成すると、新たなデータを含む新しいストリームとみなされます。ただし、以前のビューのデータにも引き続きアクセスできます。次のようなさまざまな状況で、ストリームのリプレイが必要になったり、有用になったりする場合があります。

  • Pipeline Builder パイプラインのロジックを変更し、出力データを更新後のロジックに従わせる必要がある場合、ストリームをリプレイすると、先頭または指定した時点から処理を再開することで対応できます。これにより、出力ストリームのデータが更新後の変換ルールに沿ったものになります。
  • 破壊的変更がある場合は、リプレイが強制されます。詳細については、破壊的変更のドキュメントを参照してください。
  • パイプラインの入力ストリームがリプレイされた場合は、出力ストリームのデータの整合性を維持するため、下流のパイプラインもリプレイする必要があります。

上流のパイプラインがデフォルトの「リプレイ時にリセット」モードで実行されると、出力データセットがクリアされ、再処理されたデータのウィンドウのみで再度データが格納されます。この場合、下流のパイプラインは、上流のリプレイ期間に合わせて指定した時刻からではなく、入力データの先頭からリプレイしてください。これにより、重複レコードを作成することなく、再処理された期間全体について下流の出力が正しく再構築されます。

パイプラインをリプレイすると、ダウンタイムが長くなり、リプレイの開始時点によっては数日間続く可能性があることに注意してください。パイプラインをリプレイすると、出力ストリーム内のすべてのデータが失われます。以前のストリームのデータを保持したい場合は、出力を新しい宛先に送ることができます。ただし、今後、元の出力ストリームにレコードを送信する場合は、パイプラインをリプレイする必要があります。

ストリームを再デプロイするには、初回のデプロイと同じ手順で、Pipeline Builder インターフェースのデプロイを選択します。

デプロイボタンのスクリーンショット

ストリームをリプレイするには、入力データの先頭または指定した時刻からのいずれかを起点としてリプレイする追加設定を行います。