スパークの主なコンポーネントとプロセス
ドライバ(プロセス):
我々は、ドライバのスパークプログラムを書き、プロセスは、ドライバによって行われます
マスター(プロセス):
スケジューリングとリソースの割り当てを担当するだけでなく、クラスタを監視しています
労働者(プロセス):
責任
1.パーティションまたは独自のメモリ・ストレージ・RDDの一部を使用します。
2.他のプロセスやスレッドを起動パーティションの処理及び計算は、RDDのバージョンにありました
エグゼキュータ(プロセス):
RDDは、このようなマップ/ flatmapとして、RDDの建物の私達の定義の実装である並列コンピューティングのパーティション、責任がある/オペレーターなどの作業を軽減
タスク(スレッド):
パーティションのデータRDD演算子は、指定された操作を実行します
建築原則一般的な手順をスパーク:
-
ドライバプロセスが開始された後、それはアプリケーションをスパーク登録し、マスターにリクエストを送信します。このプロセスでは、最初の操作を行います、実際には、それはマスターが実行する新しいスパークアプリケーションがあることを知らせることです
-
マスタ登録スパークアプリケーションを受信した後、作業者は、スケジューリングとリソースの割り当てに要求を送信し、実際には、リソースの割り当てが実行者に割り当てられています
-
要求ワーカーを受信するスパークにマスタ・アプリケーション・エグゼキュータを開始します
-
executorが開始された後、あなたはそのためのエグゼキュータのサービスであるドライバを知っているように、ドライバは、抗登録をさせて頂きます
-
ドライバはエグゼキュータの数を登録した後、あなたが私たちの火花正式なアプリケーションの実行を開始することができ、最初のステップは、データ・ソースを読んで、最初の初期RDDを作成することです
-
HDFSファイルの内容は、配信されたデータのメモリ内に形成されたワーカー複数のノード、すなわち初期RDDに読み込まれ
-
その後、ワーカープロセスのいくつかのパーティションRDDがあるでしょう
-
ドライバは、タスク実行の多くを提出し、RDDの私達の定義に従って動作します
-
executorがタスクを受信した後、タスクを実行するために複数のスレッドを開始します
-
パーティションのデータRDDタスクは、オペレータのRDDの、新しいパーティションを指定した操作を実行します
サイクルが終わったこの時点で、次は新しいRDDパーティションドライバは、アプリケーションが火花終了するまで動作する新しいタスクを提出する必要があります