メインコンテンツへジャンプ

Spark Applications:Sparkアプリケーションとは?

Databricks 無料トライアル

Spark アプリケーションとは、ドライバプロセスと一連のエグゼキュータプロセスで構成されるアプリケーションです。ドライバプロセスは、main() 関数を実行し、クラスタのノード上で動作します。また、3 つの役割があり、Spark アプリケーションに関する情報管理、ユーザーのプログラムや入力への応答、およびエグゼキュータ(瞬間的に定義)全体におけるタスクの分析、分散、スケジューリングを行います。ドライバプロセスは必要不可欠です。Sparkアプリケーションの中心であり、アプリケーションのライフタイム全体にわたって全ての関連情報を管理します。エグゼキュータは、ドライバが割り当てたタスクを実行します。各エグゼキュータの役割としては、ドライバから割り当てられたコードの実行、およびそのエグゼキュータでの計算の進捗をドライバノードに報告するという2つがあります。Spark Applications:<br />Sparkアプリケーションクラスタマネージャは、物理マシンを制御し、Spark アプリケーションにリソースを割り当てます。これは、複数あるコアなクラスタマネージャ(Spark 独自のスタンドアローンクラスタマネージャ、YARN、またはMesos)のうちの1つとすることができます。また、クラスタ上で複数の Spark アプリケーションを同時に実行することも可能です。クラスタマネージャについては、第 4 章「プロダクションアプリケーション」で詳しく説明しています。上の図では、左側にドライバ、右側に 4 つのエグゼキュータが示されていますが、クラスタノード構造は簡略化しています。ユーザーは、設定により各ノードに割り当てられるべきエグゼキュータの数を指定することができます。

FAQ

1. Sparkアプリケーションの中心的役割を担うのは?
ドライバプロセスで、タスクの計画・分配・スケジューリングを担当します。

2. エグゼキュータは何をする?
ドライバから割り当てられたタスクを実行し、進捗を報告します。

3. クラスタマネージャの役割は?
物理リソースを管理し、Sparkアプリケーションに必要なリソースを割り当てます。

関連資料

用語集に戻る