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

マネージドプロファイル

Foundry は、過去のリソース使用状況に基づいてジョブの Spark プロファイルを自動的に最適化できます。有効にすると、Foundry は直近のジョブ実行でのリソース消費量を分析し、ドライバーとエグゼキューターのリソースを適正化するプロファイル設定を推奨します。これにより、ジョブの信頼性を維持しながら、不要なリソース割り当てを削減します。

適用条件

Foundry が推奨するマネージドプロファイルを適用するには、次の条件をすべて満たす必要があります。

  • ジョブの直近5回の実行がすべて成功していること。
  • 直近5回の実行のうち、少なくとも4回でメトリクスが記録されていること(メトリクスがない実行は最大1回まで)。
  • 現在のジョブと直近5件のジョブで、Spark プロファイルと設定が同一であること。
  • ジョブがデフォルトのプロファイルを使用しているか、MANAGED_PROFILE プロファイルが適用されていること。

これらの条件のいずれかを満たさない場合、ジョブは元のプロファイル設定で実行されます。

プロファイルが推奨される仕組み

ジョブが適用条件を満たすと、Foundry は直近5回の成功した実行でのリソース使用パターンに基づいて、推奨プロファイルを算出します。

リソースの算出

リソースの各項目(エグゼキューターのメモリー、エグゼキューターのコア数、ドライバーのメモリー、ドライバーのコア数、エグゼキューター数)について、Foundry は直近5回の実行で観測された使用量の最大値を採用し、元の要求値を上限とします。これにより、ジョブのリソースが初期の割り当てを超えて増加することを防ぎます。

ローカルモードの最適化

必要な並列度が低いジョブでは、Foundry が効率向上のためにローカルモードでのジョブ実行を推奨する場合があります。この最適化は、次の条件で適用されます。

numExecutors * executorCores <= 4

ローカルモードが推奨される場合、エグゼキューターに分散されるはずだったワークロードに対応できるように、ドライバーのリソースが調整されます。

  • ドライバーのメモリー: 元のドライバーメモリーとエグゼキューターのメモリー合計(numExecutors * executorMemoryGb)のうち、大きい方に設定されます。
  • ドライバーのコア数: 元のドライバーコア数とエグゼキューターのコア数合計(numExecutors * executorCores)のうち、大きい方に設定されます。

この集約により、小規模なジョブでの分散実行のオーバーヘッドがなくなり、ドライバーで十分なリソースを利用できるようになります。

マネージドプロファイルを有効にする

デフォルトの Spark プロファイルを使用するジョブは、自動的にマネージドプロファイルの推奨対象になります。追加の設定は必要ありません。

カスタム Spark プロファイルを使用するジョブでマネージドプロファイルを有効にするには、既存のプロファイル設定に MANAGED_PROFILE プロファイルを追加します。これにより、そのジョブをプロファイルの自動最適化の対象として検討するよう Foundry に通知します。

トランスフォームに Spark プロファイルを適用する方法については、Spark プロファイルを適用するドキュメントを参照してください。