注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Spark とは何ですか?
Spark は、Foundry 内で大規模なデータ変換を実行するために使用される分散コンピューティングシステムです。元々は UC バークレーの研究者チームによって作成され、2000年代後半に Apache Foundation に寄贈されました。Foundry では、大量のデータに対して SQL、Python、Java、および Mesa 変換(Mesa は独自の Java ベースの DSL)を実行するために、Spark を基礎的な計算レイヤとして使用することができます。
Spark はどのように動作しますか?
Spark は、データを処理するために多数のコンピュータにジョブを分散させることに依存しています。このプロセスにより、MapReduce と呼ばれる方法を使用して、ユーザーやプロジェクト間で同時にジョブを素早く実行することが可能になります。これらのコンピュータは、ドライバとエクゼキュータに分けられます。
EXECUTOR_MEMORY_SMALL
から EXECUTOR_MEMORY_MEDIUM
に上げてから、他の何も調整せずにジョブを再度実行します。これにより、ジョブに過剰なリソースを割り当てることで不必要なコストが発生することを防ぎます。EXECUTOR_CORES_SMALL
、EXECUTOR_MEMORY_SMALL、DRIVER_CORES_SMALL、DRIVER_MEMORY_SMALL、NUM_EXECUTORS_2 です。NUM_EXECUTORS_32
と EXECUTOR_MEMORY_LARGE
(およびそれ以上)は、リクエストとそのリクエストの承認があった場合にのみ利用可能であるべきです。EXECUTOR_CORES_SMALL
以外のすべてのエクゼキュータコアの値は厳重に制御されるべきです(これはコンピューティングパワーを増加させるステルスな方法であり、ほとんどすべてのケースでユーザーを NUM_EXECUTORS プロファイルに誘導することを好みます)。EXECUTOR_CORES_SMALL
と EXECUTOR_MEMORY_MEDIUM
の組み合わせによって示されます)を超えるものは、管理者の承認を得るべきです。EXECUTOR_CORES_EXTRA_SMALL
と EXECUTOR_MEMORY_LARGE
をブロックします。ユーザーがこれらを要求している場合、それは通常、最適化が不十分であるか、または重要なワークフローの兆候です。