27

私は最近apache sparkを試しています。私の質問は、スパークジョブをトリガーするためのより具体的なものです。ここで、spark ジョブの理解に関する質問を投稿しました。仕事で汚れた後、私は自分の要件に移りました。

APIを公開してジョブをトリガーするRESTエンドポイントがあり、Rest実装にはSpring4.0を使用しました。ここで、Spring でジョブをサービスとして実装し、ジョブをプログラムで送信することを考えました。つまり、エンドポイントがトリガーされたときに、特定のパラメーターを使用してジョブをトリガーします。現在、デザインの選択肢はほとんどありません。

  • 以下に記述されたジョブと同様に、Abstract Class may be によって呼び出されるいくつかのジョブを維持する必要があります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 のスタンドアロン クラスターを使用しています。親切に助けてください。

4

5 に答える 5

28

Spark には、ジョブを送信し、ステータスを確認して強制終了するための非表示の REST API があることがわかりました。

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

于 2015-10-08T20:14:49.577 に答える
7

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

サービスを作成する際には考慮すべきことがたくさんありますが、Spark JobServer はそれらのほとんどを既にカバーしています。不十分な点が見つかった場合は、システムを一から作り直すのではなく、簡単にリクエストを作成してシステムにコードを追加できる必要があります。

于 2015-03-11T21:05:53.227 に答える
1

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

編集: この回答は 2015 年に提供されました。現在利用可能な Livy のようなオプションがあります。

于 2015-11-16T14:22:49.750 に答える