データ接続と統合Pipeline Builderパイプライン管理ビルド設定

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

ビルド設定

このページでは、バッチパイプラインとストリーミングパイプラインのパフォーマンスを調整するために使用できる Pipeline Builder のビルド設定について説明します。

画面右上のデプロイの横にある設定アイコンを選択すると、パイプラインのビルド設定を編集できます。

「ビルド設定」ドロップダウンメニューのスクリーンショット。

バッチパイプライン

バッチコンピュートプロファイル

ビルド設定では、次のバッチコンピュートプロファイルを選択できます。これらの仕様は、選択したコンピュートプロファイルの下にある仕様ドロップダウンメニューでも表示できます。

コンピュートプロファイルの権限

Spark を基盤とする標準バッチパイプラインのコンピュートプロファイルへのアクセスは、プロジェクト単位で設定します。プロファイルは次の2つの区分に分かれます。

  • 自動インポートされるプロファイル(極小、小、中):プロジェクトに自動的にインポートされ、追加のセットアップなしで利用できます。
  • 自動インポートされないプロファイル(大、特大):使用する前にプロジェクトにインポートする必要があります。インポートには、Compass プロジェクトの編集者ロールまたは所有者ロールと、Resource Management の管理者ロールの両方が必要です。

プロジェクトにインポートされていない大または特大のプロファイルを選択すると、Pipeline Builder はデプロイ時にエラーを表示します。必要な権限がある場合は、コンピュートプロファイルをインポートを選択して、不足しているプロファイルをインポートします。必要な権限がない場合、大および特大のプロファイルは選択用ドロップダウンで無効な状態で表示されます。

大または特大のプロファイルを使用している既存のパイプラインは、何も操作することなく引き続き実行されます。

Control Panel の Pipeline Builder セクションから、エンロールメント全体のコンピュートプロファイルのインポートを管理できます。詳しくは、コンピュートプロファイルの権限を設定するを参照してください。

コンピュートプロファイルの権限は、Spark を基盤とする標準バッチパイプラインにのみ適用されます。ストリーミングパイプラインと高速バッチパイプラインは、これらの権限要件の影響を受けません。

標準プロファイル

プロファイルドライバーのコア数ドライバーのメモリー動的割り当ての最小エグゼキューター数動的割り当ての最大エグゼキューター数エグゼキューターのコア数エグゼキューターのメモリー最大合計コア数
極小14GBN/AN/AN/AN/A1
小12GB1213GB3
中16GB21626GB33
大113GB23226GB65
特大127GB212826GB257

ウォームプールプロファイル

ウォームプールプロファイルは、常時稼働している仮想マシンを使用し、ジョブを同時に実行することで、ジョブの起動遅延とリソース消費を抑えることができます。

プロファイルドライバーのコア数ドライバーのメモリー動的割り当ての最小エグゼキューター数動的割り当ての最大エグゼキューター数エグゼキューターのコア数エグゼキューターのメモリー最大合計コア数
ウォームプール 極小313GBN/AN/AN/AN/A3
ウォームプール 小37GB1613GB9

ウォームプールプロファイルでパイプラインをビルドする際に実際に使用されるリソースは、仕様パネルに表示される量よりも大幅に少ない場合があります。ウォームプールプロファイルは共有モジュールを使用し、同じ仮想マシン上で複数のジョブを同時に実行します。各ジョブは、利用可能なリソース全体の一部のみを消費します。

ネイティブアクセラレーションプロファイル

ネイティブアクセラレーションプロファイルは、ネイティブコンピュート用にオフヒープメモリーを割り当て、大規模なワークロードのビルドを高速化します。

プロファイルドライバーのコア数ドライバーのメモリー動的割り当ての最小エグゼキューター数動的割り当ての最大エグゼキューター数エグゼキューターのコア数エグゼキューターのメモリーエグゼキューターのオフヒープメモリー最大合計コア数
ネイティブアクセラレーション 小12GB121600MB2400MB3
ネイティブアクセラレーション 中16GB21621200MB4800MB33
ネイティブアクセラレーション 大113GB23221200MB4800MB65
ネイティブアクセラレーション 特大127GB212821200MB4800MB257

高速コンピュートプロファイル

高速コンピュートプロファイルは、高速バッチパイプラインでのみ利用できます。

プロファイルのサイズコア数メモリー
小17.5GB
中215GB
大430GB
特大860GB
超特大16120GB

これらの仕様は、選択したコンピュートプロファイルの下にある仕様ドロップダウンメニューでも表示できます。

管理対象プロファイル

どの標準コンピュートプロファイルでも、「管理対象プロファイル」にするオプションを利用できます。管理対象プロファイルは、ジョブが割り当てられた容量よりも少ないリソースを継続的に使用している場合に、コンピュートリソースを自動的に縮小することで、リソース使用量を最適化できるように設計されています。

管理対象プロファイルのオプションを有効にすると、プラットフォームは対象のデプロイの直近5回のビルドでのリソース使用量を分析します。パイプラインのビルドが継続的に少ないコンピュートリソースを使用している場合、以降のビルドのコンピュートリソースは自動的に縮小されます。コンピュートリソースが、最初に選択した割り当てを超えて増加することはありません。調整は、選択したプリセットのプロファイルに限定されません。管理対象プロファイルの戦略では、実際の使用パターンに基づいてカスタムのコンピュートレベルが割り当てられます。

管理対象プロファイルを有効にする

管理対象プロファイルを有効にするには、ビルド設定でコンピュートプロファイルダイアログを開き、プロファイル管理戦略の下で管理対象プロファイルを選択します。

ドロップダウンメニューの「管理対象プロファイル」オプションのスクリーンショット。

ウォームプール

ウォームプールのコンピュートプロファイルは、常時稼働している仮想マシンの自動スケーリングプールを使用して、ジョブの起動遅延を最小限に抑えます。1台の仮想マシン上で最大3件のジョブが同時に実行され、各ジョブはその仮想マシンで利用可能なリソース全体の一部を消費します。

ウォームプールを活用することで、ジョブはすぐに処理を開始でき、ビルド全体の時間を短縮できます。極小プロファイルで最大30分かかるジョブなど、小規模なビルドに推奨されます。

ウォームプールの制限事項

ウォームプールプロファイルには、次の制限事項があります。

  • プロファイルのサポート: ウォームプールは、極小および小の Spark プロファイルでサポートされています。中以上のプロファイルでは、ウォームプールはサポートされていません。
  • UDF のサポート: ユーザー定義関数(UDF)を使用するパイプラインは、ウォームプールプロファイルで実行できません。
  • Build ログ: ウォームプールプロファイルを使用すると、ビルドログの表示が不完全になったり、表示される情報が少なくなったりする場合があります。ジョブの失敗をデバッグするために完全なログが必要な場合は、コンピュートプロファイルのウォームプール設定を無効にし、ジョブを再実行して完全なログ出力を取得してください。

ウォームプールを有効にする

ウォームプールを有効にするには、コンピュートプロファイルダイアログでウォームプールをオンにします。

プロファイル管理戦略ドロップダウンメニューの「ウォームプール」オプションのスクリーンショット。

ネイティブアクセラレーション

Pipeline Builder で Velox ↗ によるバッチパイプラインのネイティブアクセラレーションを有効にすると、パフォーマンスを向上できます。

Foundry のネイティブアクセラレーションの詳細についてはこちらをご覧ください。

ネイティブアクセラレーションを有効にする

デプロイの横にある設定アイコンを選択すると、パイプラインのビルド設定を編集できます。ネイティブアクセラレーションの設定には、小、中、大のコンピュートサイズに対応する事前設定済みのプロファイルがあります。これらは、メモリー使用量の合計に基づくデフォルトの小、中、大のサイズに対応しています(ローカルモードはありません)。ネイティブアクセラレーションを使用して初めてパイプラインを実行する場合は、これらの事前設定済みのプロファイルを推奨します。

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

詳細設定が可能なネイティブアクセラレーション用プロファイルもあり、オンヒープとオフヒープのメモリー比率に加えて、ビルドのリソースやコンピュートに影響するその他すべての設定を指定できます。

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

ほとんどの場合、事前設定済みのネイティブアクセラレーション用プロファイルを選択するだけで、パイプラインを高速化できるはずです。ネイティブアクセラレーションを使用しないビルドでは発生しないメモリー不足(OOM)やパフォーマンスの低下が発生する場合は、メモリー設定が最適ではない可能性があります。多くの場合、詳細設定用プロファイルを使用し、オフヒープに割り当てるメモリーの割合を減らすことで問題を解決できます。問題が解消しない場合は、そのパイプラインがネイティブアクセラレーションに適していない可能性が高いため、引き続きデフォルトの実行プロファイルを使用してください。

ネイティブアクセラレーションのメモリー設定に関する考慮事項

Foundry でネイティブアクセラレーションを使用して Spark を実行するには、通常のバッチパイプラインとは少し異なる設定が必要です。Spark は、オフヒープメモリー ↗ を使用した一部の処理の実行をサポートしています。オフヒープメモリーは JVM によって管理されないメモリーであり、GC のオーバーヘッドをなくすことでパフォーマンスが向上します。

オフヒープメモリーを有効にすると、パイプラインの保守コストが増える可能性があるため、Foundry ではデフォルトで有効にしていません。Velox によって変更される DataFrame は、ネイティブプロセスからアクセスできるようにオフヒープに置く必要があるため、ネイティブアクセラレーションにはオフヒープメモリーの有効化が必要です。

Foundry では、Velox によるデータ変換以外のすべての処理に十分なオンヒープメモリーが引き続き必要です(たとえば、オーケストレーション、スケジューリング、ビルド管理のコードは引き続き JVM で実行されます)。ただし、理想的には、ほとんどの処理がオフヒープで実行されるようになります。ネイティブアクセラレーションを使用するようにパイプラインを設定すると、オンヒープメモリーとオフヒープメモリーのバランスを調整するための保守コストが増えます。Pipeline Builder は、この調整を支援するために管理対象プロファイルを提供しますが、カスタム設定が必要になる場合もあります。

一部のワークロードはネイティブアクセラレーションに適していません。特に、テキストのチャンク分割や埋め込み生成など、LLM または埋め込みのデータ加工を使用するパイプラインでは、これらの処理をネイティブのオフヒープ実行にオフロードできません。このようなパイプラインでネイティブアクセラレーションを有効にすると、オンヒープメモリーが減少するため、大きなコンピュートプロファイルでも、シャッフルステージでエグゼキューターのメモリー不足エラーが発生する可能性があります。これらのワークロードには、代わりに標準(非ネイティブ)のコンピュートプロファイルを使用してください。

ストリーミングパイプライン

ストリーミングのコンピュートプロファイル

ビルド設定では、次のコンピュートプロファイルを選択できます。

プロファイルJob Manager のメモリー並列度Task Manager のメモリー
極小1GB11GB
特小1GB11GB
小1GB24GB
中1GB36GB
大2GB48GB
特大2GB812GB

最大実行時間

ストリーミングパイプラインのジョブに最大実行時間を設定できます。この設定では、1分から7日までの最大実行時間を指定できます。最大実行時間に達すると、ストリーミングジョブは自動的に停止します。

最大実行時間を設定するには、次の手順に従います。

  1. 画面右上のデプロイの横にある設定アイコンを選択します。
  2. ストリーミングパイプラインの設定で、ジョブの最大実行時間を設定を見つけます。
  3. 1分から7日までの希望する実行時間を指定します。

メインブランチ以外のブランチでは、ジョブの最大実行時間を設定がデフォルトで有効になっており、実行時間の上限は1日です。

ストリームの動作

Flink パイプラインでは、ビルド設定パネルのストリームの動作セクションで、データの一貫性保証を設定できます。この設定によって、パイプラインがメッセージ配送のセマンティクスをどのように扱うかが決まります。

専用のピッカーを使用して、少なくとも1回などの一貫性保証を選択します。設定した一貫性保証は、デプロイパネルのプレビュー行に表示されます。一貫性保証が設定されていない場合は、デプロイパネルに警告が表示されます。

外部パイプライン

外部パイプラインは、Databricks や Snowflake などの外部エンジンに計算処理をプッシュダウンします。外部パイプラインのコンピュートプロファイル設定は、バッチパイプラインやストリーミングパイプラインとは異なります。

Databricks や Snowflake のオプションを含む、外部パイプラインのコンピュートプロファイル設定については、Pipeline Builder の外部パイプラインを参照してください。