注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Spark とは?
Spark は、Foundry 内で大規模なデータ変換を実行するために使用される分散コンピューティングシステムです。もともとはカリフォルニア大学バークレー校の研究者チームによって開発され、その後2000年代後半に Apache Foundation に寄贈されました。Foundry では、Spark を基盤となる計算レイヤーとして使用し、大量のデータに対して SQL、Python、Java、Mesa のトランスフォームを実行できます(Mesa は Java ベースの独自 DSL です)。
Spark はどのように動作しますか?
Spark は、多数のコンピューターにジョブを同時に分散してデータを処理します。Hadoop が使用するディスクベースの2段階 MapReduce モデルとは異なり、Spark は有向非巡回グラフ(DAG)実行エンジンを使用し、インメモリー計算を優先するため、ユーザーやプロジェクトをまたいで同時に実行されるジョブを高速に処理できます。これらのコンピューターは、ドライバーとエグゼキューターに分かれています。

EXECUTOR_MEMORY_SMALL から EXECUTOR_MEMORY_MEDIUM に引き上げてから、ほかの設定を調整する前にジョブを再実行します。これにより、ジョブにリソースを過剰に割り当てて不要なコストが発生するのを防ぎやすくなります。SMALL というラベルの付いた組み込みプロファイルで近似できます。
EXECUTOR_CORES_SMALL、EXECUTOR_MEMORY_SMALL、DRIVER_CORES_SMALL、DRIVER_MEMORY_SMALL、NUM_EXECUTORS_2 です。
SMALL から MEDIUM に増やしてみます。大量のデータを処理している場合は、これで改善するはずです。
MEDIUM から LARGE への調整が必要だと考えられる場合は、専門家に相談してください。可能であれば、トラブルシューティングガイドに記載されているように、トランスフォームの簡略化を検討してください。NUM_EXECUTORS_32 と EXECUTOR_MEMORY_LARGE(およびそれ以上)は、申請とその申請の承認を経た場合にのみ利用可能にすべきです。EXECUTOR_CORES_SMALL を除くすべてのエグゼキューターのコア数の値は、厳格に管理すべきです(これはコンピューティング能力を「目立たない形で」増やす方法であり、ほぼすべての場合に、ユーザーを NUM_EXECUTORS プロファイルへ誘導する方が望ましいためです)。EXECUTOR_CORES_SMALL と EXECUTOR_MEMORY_MEDIUM の組み合わせで示される比率)を超える設定は、管理者の承認を必要とすべきです。EXECUTOR_CORES_EXTRA_SMALL と EXECUTOR_MEMORY_LARGE は使用できないようにしてください。ユーザーがこれらを要求する場合、通常は最適化が不十分であるか、重要なワークフローであることを示しています。