2016-05-15 8 views
7

スパークジョブをプログラムによって送信することを可能にするために、幾分最近の(2015年の春)機能があるようです。ここでプログラムによるスパーク送信機能の使用方法

はJIRA https://issues.apache.org/jira/browse/SPARK-4924ある

しかし、実際にこれらの機能を使用する方法についての不確実性が(と同様、私をカウント)があります。

enter image description here

さらに、それは、「APIドキュメントに見える」されて説明するために、この作品の実際の作者を求めて:ここでは、JIRAの最後のコメントがあります。

「ユーザードキュメント」は、Spark APIのドキュメントです。

著者は詳細を提供しておらず、明らかに全体の問題が自明であると感じています。誰かがここにドットをつけることができれば:具体的には - APIの文書では、この新しいSpark Submit機能が記載されています - それは高く評価されます。ここで

は、私は次のように-Pointersを探しています情報の一部です:スパークAPIに追加されました

  • 何の能力
  • どのように我々は彼らに他の
  • どれ例/使用しません関連文書および/またはコード

更新受け入れ答えに言及SparkLauncherが起動しません簡単なアプリケーション(マスター=ローカル[*])の下で単純なアプリケーションです。それが実際のクラスタ上でどれくらい使用できるかが分かります。リンクされたコードにprint文を追加した後:

のprintln( "..と待って立ち上げた..") spark.waitFor()

を私たちは見ています:

打ち上げ

..と待っています。

これはおそらくほんの少し前です。実際のクラスタ環境に移行するにつれて、この質問が更新されます。

答えて

7

pull requestの詳細を見ると、機能はAPI docs hereに記載されているSparkLauncherクラスによって提供されているようです。

public class SparkLauncher extends Object

ランチャースパークのためのアプリケーション。

Sparkアプリケーションをプログラムで起動するには、このクラスを使用します。クラス はビルダーパターンを使用して、クライアントがSpark アプリケーションを構成し、子プロセスとして起動できるようにします。

APIのドキュメントではなく、最小限のですが、私はworked exampleGitHub repoでも利用可能なコード)を与えるブログの記事を見つけました。リンクが古くなって行く場合には私が(未テスト)以下の例の簡易版をコピーした:

import org.apache.spark.launcher.SparkLauncher 

object Launcher extends App { 
    val spark = new SparkLauncher() 
    .setSparkHome("/home/user/spark-1.4.0-bin-hadoop2.6") 
    .setAppResource("/home/user/example-assembly-1.0.jar") 
    .setMainClass("MySparkApp") 
    .setMaster("local[*]") 
    .launch(); 
    spark.waitFor(); 
} 

も参照してください:

+0

ここにジャンプしていただきありがとうございます。あなたはそのクラスを直接使ってみましたか?その使用は環境を適切に設定するという観点からは困難です。合併症が軽減された可能性があることをJIRAで読んだことが私の理解でした。 APIドキュメントを見るだけでは役に立ちません。私はここにあなたをアップアップします。 – javadba

+0

OPを更新して、何を求めているかをさらに説明しました。 – javadba

+0

SparkLauncherでアップデートを確認してください。今すぐ試してみてください。 – javadba

関連する問題