注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
このページでは、バッチパイプラインとストリーミングパイプラインのパフォーマンスを調整するために使用できる Pipeline Builder のビルド設定について説明します。
画面右上のデプロイの横にある設定アイコンを選択すると、パイプラインのビルド設定を編集できます。

ビルド設定では、次のバッチコンピュートプロファイルを選択できます。これらの仕様は、選択したコンピュートプロファイルの下にある仕様ドロップダウンメニューでも表示できます。
Spark を基盤とする標準バッチパイプラインのコンピュートプロファイルへのアクセスは、プロジェクト単位で設定します。プロファイルは次の2つの区分に分かれます。
プロジェクトにインポートされていない大または特大のプロファイルを選択すると、Pipeline Builder はデプロイ時にエラーを表示します。必要な権限がある場合は、コンピュートプロファイルをインポートを選択して、不足しているプロファイルをインポートします。必要な権限がない場合、大および特大のプロファイルは選択用ドロップダウンで無効な状態で表示されます。
大または特大のプロファイルを使用している既存のパイプラインは、何も操作することなく引き続き実行されます。
Control Panel の Pipeline Builder セクションから、エンロールメント全体のコンピュートプロファイルのインポートを管理できます。詳しくは、コンピュートプロファイルの権限を設定するを参照してください。
コンピュートプロファイルの権限は、Spark を基盤とする標準バッチパイプラインにのみ適用されます。ストリーミングパイプラインと高速バッチパイプラインは、これらの権限要件の影響を受けません。
| プロファイル | ドライバーのコア数 | ドライバーのメモリー | 動的割り当ての最小エグゼキューター数 | 動的割り当ての最大エグゼキューター数 | エグゼキューターのコア数 | エグゼキューターのメモリー | 最大合計コア数 |
|---|---|---|---|---|---|---|---|
| 極小 | 1 | 4GB | N/A | N/A | N/A | N/A | 1 |
| 小 | 1 | 2GB | 1 | 2 | 1 | 3GB | 3 |
| 中 | 1 | 6GB | 2 | 16 | 2 | 6GB | 33 |
| 大 | 1 | 13GB | 2 | 32 | 2 | 6GB | 65 |
| 特大 | 1 | 27GB | 2 | 128 | 2 | 6GB | 257 |
ウォームプールプロファイルは、常時稼働している仮想マシンを使用し、ジョブを同時に実行することで、ジョブの起動遅延とリソース消費を抑えることができます。
| プロファイル | ドライバーのコア数 | ドライバーのメモリー | 動的割り当ての最小エグゼキューター数 | 動的割り当ての最大エグゼキューター数 | エグゼキューターのコア数 | エグゼキューターのメモリー | 最大合計コア数 |
|---|---|---|---|---|---|---|---|
| ウォームプール 極小 | 3 | 13GB | N/A | N/A | N/A | N/A | 3 |
| ウォームプール 小 | 3 | 7GB | 1 | 6 | 1 | 3GB | 9 |
ウォームプールプロファイルでパイプラインをビルドする際に実際に使用されるリソースは、仕様パネルに表示される量よりも大幅に少ない場合があります。ウォームプールプロファイルは共有モジュールを使用し、同じ仮想マシン上で複数のジョブを同時に実行します。各ジョブは、利用可能なリソース全体の一部のみを消費します。
ネイティブアクセラレーションプロファイルは、ネイティブコンピュート用にオフヒープメモリーを割り当て、大規模なワークロードのビルドを高速化します。
| プロファイル | ドライバーのコア数 | ドライバーのメモリー | 動的割り当ての最小エグゼキューター数 | 動的割り当ての最大エグゼキューター数 | エグゼキューターのコア数 | エグゼキューターのメモリー | エグゼキューターのオフヒープメモリー | 最大合計コア数 |
|---|---|---|---|---|---|---|---|---|
| ネイティブアクセラレーション 小 | 1 | 2GB | 1 | 2 | 1 | 600MB | 2400MB | 3 |
| ネイティブアクセラレーション 中 | 1 | 6GB | 2 | 16 | 2 | 1200MB | 4800MB | 33 |
| ネイティブアクセラレーション 大 | 1 | 13GB | 2 | 32 | 2 | 1200MB | 4800MB | 65 |
| ネイティブアクセラレーション 特大 | 1 | 27GB | 2 | 128 | 2 | 1200MB | 4800MB | 257 |
高速コンピュートプロファイルは、高速バッチパイプラインでのみ利用できます。
| プロファイルのサイズ | コア数 | メモリー |
|---|---|---|
| 小 | 1 | 7.5GB |
| 中 | 2 | 15GB |
| 大 | 4 | 30GB |
| 特大 | 8 | 60GB |
| 超特大 | 16 | 120GB |
これらの仕様は、選択したコンピュートプロファイルの下にある仕様ドロップダウンメニューでも表示できます。
どの標準コンピュートプロファイルでも、「管理対象プロファイル」にするオプションを利用できます。管理対象プロファイルは、ジョブが割り当てられた容量よりも少ないリソースを継続的に使用している場合に、コンピュートリソースを自動的に縮小することで、リソース使用量を最適化できるように設計されています。
管理対象プロファイルのオプションを有効にすると、プラットフォームは対象のデプロイの直近5回のビルドでのリソース使用量を分析します。パイプラインのビルドが継続的に少ないコンピュートリソースを使用している場合、以降のビルドのコンピュートリソースは自動的に縮小されます。コンピュートリソースが、最初に選択した割り当てを超えて増加することはありません。調整は、選択したプリセットのプロファイルに限定されません。管理対象プロファイルの戦略では、実際の使用パターンに基づいてカスタムのコンピュートレベルが割り当てられます。
管理対象プロファイルを有効にするには、ビルド設定でコンピュートプロファイルダイアログを開き、プロファイル管理戦略の下で管理対象プロファイルを選択します。

ウォームプールのコンピュートプロファイルは、常時稼働している仮想マシンの自動スケーリングプールを使用して、ジョブの起動遅延を最小限に抑えます。1台の仮想マシン上で最大3件のジョブが同時に実行され、各ジョブはその仮想マシンで利用可能なリソース全体の一部を消費します。
ウォームプールを活用することで、ジョブはすぐに処理を開始でき、ビルド全体の時間を短縮できます。極小プロファイルで最大30分かかるジョブなど、小規模なビルドに推奨されます。
ウォームプールプロファイルには、次の制限事項があります。
ウォームプールを有効にするには、コンピュートプロファイルダイアログでウォームプールをオンにします。

Pipeline Builder で Velox ↗ によるバッチパイプラインのネイティブアクセラレーションを有効にすると、パフォーマンスを向上できます。
Foundry のネイティブアクセラレーションの詳細についてはこちらをご覧ください。
デプロイの横にある設定アイコンを選択すると、パイプラインのビルド設定を編集できます。ネイティブアクセラレーションの設定には、小、中、大のコンピュートサイズに対応する事前設定済みのプロファイルがあります。これらは、メモリー使用量の合計に基づくデフォルトの小、中、大のサイズに対応しています(ローカルモードはありません)。ネイティブアクセラレーションを使用して初めてパイプラインを実行する場合は、これらの事前設定済みのプロファイルを推奨します。

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

ほとんどの場合、事前設定済みのネイティブアクセラレーション用プロファイルを選択するだけで、パイプラインを高速化できるはずです。ネイティブアクセラレーションを使用しないビルドでは発生しないメモリー不足(OOM)やパフォーマンスの低下が発生する場合は、メモリー設定が最適ではない可能性があります。多くの場合、詳細設定用プロファイルを使用し、オフヒープに割り当てるメモリーの割合を減らすことで問題を解決できます。問題が解消しない場合は、そのパイプラインがネイティブアクセラレーションに適していない可能性が高いため、引き続きデフォルトの実行プロファイルを使用してください。
Foundry でネイティブアクセラレーションを使用して Spark を実行するには、通常のバッチパイプラインとは少し異なる設定が必要です。Spark は、オフヒープメモリー ↗ を使用した一部の処理の実行をサポートしています。オフヒープメモリーは JVM によって管理されないメモリーであり、GC のオーバーヘッドをなくすことでパフォーマンスが向上します。
オフヒープメモリーを有効にすると、パイプラインの保守コストが増える可能性があるため、Foundry ではデフォルトで有効にしていません。Velox によって変更される DataFrame は、ネイティブプロセスからアクセスできるようにオフヒープに置く必要があるため、ネイティブアクセラレーションにはオフヒープメモリーの有効化が必要です。
Foundry では、Velox によるデータ変換以外のすべての処理に十分なオンヒープメモリーが引き続き必要です(たとえば、オーケストレーション、スケジューリング、ビルド管理のコードは引き続き JVM で実行されます)。ただし、理想的には、ほとんどの処理がオフヒープで実行されるようになります。ネイティブアクセラレーションを使用するようにパイプラインを設定すると、オンヒープメモリーとオフヒープメモリーのバランスを調整するための保守コストが増えます。Pipeline Builder は、この調整を支援するために管理対象プロファイルを提供しますが、カスタム設定が必要になる場合もあります。
一部のワークロードはネイティブアクセラレーションに適していません。特に、テキストのチャンク分割や埋め込み生成など、LLM または埋め込みのデータ加工を使用するパイプラインでは、これらの処理をネイティブのオフヒープ実行にオフロードできません。このようなパイプラインでネイティブアクセラレーションを有効にすると、オンヒープメモリーが減少するため、大きなコンピュートプロファイルでも、シャッフルステージでエグゼキューターのメモリー不足エラーが発生する可能性があります。これらのワークロードには、代わりに標準(非ネイティブ)のコンピュートプロファイルを使用してください。
ビルド設定では、次のコンピュートプロファイルを選択できます。
| プロファイル | Job Manager のメモリー | 並列度 | Task Manager のメモリー |
|---|---|---|---|
| 極小 | 1GB | 1 | 1GB |
| 特小 | 1GB | 1 | 1GB |
| 小 | 1GB | 2 | 4GB |
| 中 | 1GB | 3 | 6GB |
| 大 | 2GB | 4 | 8GB |
| 特大 | 2GB | 8 | 12GB |
ストリーミングパイプラインのジョブに最大実行時間を設定できます。この設定では、1分から7日までの最大実行時間を指定できます。最大実行時間に達すると、ストリーミングジョブは自動的に停止します。
最大実行時間を設定するには、次の手順に従います。
メインブランチ以外のブランチでは、ジョブの最大実行時間を設定がデフォルトで有効になっており、実行時間の上限は1日です。
Flink パイプラインでは、ビルド設定パネルのストリームの動作セクションで、データの一貫性保証を設定できます。この設定によって、パイプラインがメッセージ配送のセマンティクスをどのように扱うかが決まります。
専用のピッカーを使用して、少なくとも1回などの一貫性保証を選択します。設定した一貫性保証は、デプロイパネルのプレビュー行に表示されます。一貫性保証が設定されていない場合は、デプロイパネルに警告が表示されます。
外部パイプラインは、Databricks や Snowflake などの外部エンジンに計算処理をプッシュダウンします。外部パイプラインのコンピュートプロファイル設定は、バッチパイプラインやストリーミングパイプラインとは異なります。
Databricks や Snowflake のオプションを含む、外部パイプラインのコンピュートプロファイル設定については、Pipeline Builder の外部パイプラインを参照してください。