3

私は実際に、これがどのように起こるのかの基本的なメカニズムを知りたがっています。sbt runスパークアプリケーションが起動します。スパーク・アプリケーションがsbt実行を使用して起動する方法。

これとスタンドアロンモードでのスパークの違いと、spark-submitを使用してアプリケーションをデプロイする方法との違いは何ですか?

誰かがどのようにjarファイルを提出し、誰がタスクを作成し、どちらの場合でもそれを割り当てることができれば、それは素晴らしいことです。 これで私を助けてください、または私が疑いを晴らすことができる場所を読んでください!

答えて

0

まず、thisを読んでください。

用語、さまざまな役割、および責任について理解したら、下記の段落をまとめてお読みください。

スパークアプリケーションを実行するさまざまな方法があります(スパークアプリケーションは、エントリポイントを持つクラスファイルの束です)。

スパークアプリケーションを単一のJavaプロセスとして実行できます(通常は開発用です)。これは、sbt runを実行すると起こります。 このモードでは、ドライバ、ワーカーなどのすべてのサービスは単一のJVM内で実行されます。

しかし、上記の実行方法は、開発とテストの目的でのみ使用されます。つまり、大量のデータを処理することはできません。これは、火花のアプリケーションを実行する他の方法が画像に来る場所です(スタンドアロン、メソ、糸など)。

今すぐthisをお読みください。

これらのモードでは、役割ごとに専用のJVMが用意されています。ドライバは別のJVMとして実行されますが、異なるマシンで実行されている10〜1000秒のエグゼキュータJVMが存在する可能性があります(Crazy right!)。

興味深いのは、単一のJVM内で実行される同じアプリケーションが、1000台のJVM上で実行されるように配布されることです。これらのJVMのライフサイクル、アプリケーションのこのような配布は、Sparkとその基礎となるクラスタフレームワークによって処理されます。

関連する問題