非ドライバー、非労働者には、Sparkのセッションを作成し、データセットにCSVファイルを読み込むことはできますか?

hotmeatballsoup:

Javaの8ここスパーク2.4.5(スカラ2.12)。私はまた、スパークに非常に新しいです。

私は理解しようとしているとき、コードがスパーク・ドライバ・ノード上で実行され、とき、それは労働者/執行に提出します。

具体的には、あなたが作成したときSparkContextSparkSessionインスタンスを、それらのインスタンスはない、常にドライバーで発生する必要がありますか?それとも、作成することが可能ですSparkContext/ SparkSession(:ない労働者/エグゼスパークドライバでもないのJavaアプリです)普通の古風」JVMアプリでインスタンスを?

同上は、セッションのために読み込みます。例えば、私はそうのようなCSVファイルを読み込むときに:

sparkSession.read()
  .format("csv")
  .load(providedFile.getAbsolutePath());

これらは、読み取りん常にドライバや労働者のいずれかで実行する必要があり、または彼らはただ単に依存関係としてでプルスパークコアに起こる「通常のJavaアプリ」上で実行することができますか?


編集:それが作成することは何も思えるんSparkSession ですので、その後、デフォルトでは「スパークドライバを」私の唯一の他の質問です:どのように私はどのコードが労働者/執行に出養殖ますドライバ上のどのコードが実行され、教えていますか?

ウィルsparkSession.read()...ドライバーで発生するか、そのGETはワーカーノードに提出していますか?

何:

再:「私は労働者/執行に出養殖ますどのコードが実行コードドライバーにと言うのですか」

一般に、任意の変換は、あなたがRDDまたはデータフレーム上で行うこと(例えば、マップ、flatmap、フィルタ、GROUPBY、reduceByKeyなどのために)実行者に起こるでしょう。エグゼキュータで実行になるだろうこれらの変換を起動しているときは、通常、関数やクロージャを渡します。

いつたとえば、アクション呼び出し「コレクト」または「テイク」、(のOutOfMemoryエラーに注意してください)ドライバへのデータバックをもたらすでしょう。あなたがドライバーに収集し、そのようなデータにするだろうどのような操作を、ドライバ上で実行されます。

タスクがドライバの働い執行、物事に配布されているときに行くのがたくさんあります。私はほんの始まりとして上記のポインタを取ってお勧めしますし、このことについて協議することを本や良いチュートリアルを行くだろう。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=364808&siteId=1