web-dev-qa-db-ja.com

トリガーspark REST

私は最近試してみました Apache spark 。私の質問は、より具体的なトリガーspark jobs。 Here 理解についての質問を投稿しましたspark jobs。要件に移りました。

RESTエンドポイントを使用して、ジョブをトリガーするAPIを公開しています。残りの実装にはSpring4.0を使用しました。プログラムで、つまりエンドポイントがトリガーされたときに、指定されたパラメーターでジョブをトリガーすることを意味します。

  • 以下に書かれたジョブと同様に、抽象クラスによって呼び出されるいくつかのジョブを維持する必要がありますJobScheduler

     /*Can this Code be abstracted from the application and written as 
      as a seperate job. Because my understanding is that the 
     Application code itself has to have the addJars embedded 
     which internally  sparkContext takes care.*/
    
     SparkConf sparkConf = new SparkConf().setAppName("MyApp").setJars(
     new String[] { "/path/to/jar/submit/cluster" })
     .setMaster("/url/of/master/node");
      sparkConf.setSparkHome("/path/to/spark/");
    
            sparkConf.set("spark.scheduler.mode", "FAIR");
            JavaSparkContext sc = new JavaSparkContext(sparkConf);
            sc.setLocalProperty("spark.scheduler.pool", "test");
    
        // Application with Algorithm , transformations
    
  • ポイントを超えて拡張すると、サービスによって処理されるジョブの複数のバージョンがあります。

  • または、Spark Job Serverを使用してこれを行います。

まず、この場合の最良の解決策は何か、実行の観点からもスケーリングの観点からも知りたいと思います。

:Sparkからスタンドアロンクラスターを使用しています。親切に助けてください。

24
chaosguru

Spark JobServer https://github.com/spark-jobserver/spark-jobserver を使用するだけです

サービスを作成する際に考慮すべきことはたくさんありますが、Spark JobServerはそれらのほとんどをすでにカバーしています。ゼロから再発明するのではなく、システムにリクエストとコードを追加する

7
David

Spark=には隠されたREST APIがあり、ジョブを送信し、ステータスを確認し、強制終了します。

ここで完全な例を確認してください: http://arturmkrtchyan.com/Apache-spark-hidden-rest-api

27
Artur Mkrtchyan

Livy はオープンソースですREST Apacheと対話するためのインターフェースSpark=どこからでも。コードまたはプログラムのスニペットの実行をサポートします。 SparkローカルまたはApache Hadoop YARNで実行されるコンテキスト。

5
Josemy

役に立つと思われる良いクライアントを次に示します。 https://github.com/ywilkof/spark-jobs-rest-client

編集:この答えは2015年に与えられました。現在利用可能なリヴィーのようなオプションがあります。

1
Alex Fedulov