13

Apache Spark の上に RESTful API を構築しています。次の Python スクリプトを使用するspark-submitと、問題なく動作するようです。

import cherrypy
from pyspark.sql import SparkSession

spark = SparkSession.builder.appName('myApp').getOrCreate()
sc = spark.sparkContext

class doStuff(object):
    @cherrypy.expose
    def compute(self, user_input):
        # do something spark-y with the user input
        return user_output

cherrypy.quickstart(doStuff())

しかし、グーグルで調べてみると、 Livyspark-jobserver のようなものが表示されます。これらのプロジェクトのドキュメントといくつかのチュートリアルを読みましたが、CherryPy や Flask、その他の Web フレームワークを使用した単純なスクリプトに対する Livy や spark-jobserver の利点をまだ完全には理解していません。スケーラビリティについてですか?コンテキスト管理?ここで何が欠けていますか?私が必要としているのがユーザー数の少ないシンプルな RESTful API である場合、Livy または spark-jobserver は問題を起こす価値がありますか? もしそうなら、なぜですか?

4

2 に答える 2

9

を使用する場合はspark-submit、手動で JAR ファイルをクラスターにアップロードし、コマンドを実行する必要があります。実行前にすべてを準備する必要があります

Livy または spark-jobserver を使用する場合、プログラムでファイルをアップロードしてジョブを実行できます。同じクラスターに接続し、次のジョブで jar をアップロードするアプリケーションを追加できます

さらに、Livy と Spark-JobServer を使用すると、Spark をインタラクティブ モードで使用できますが、これは spark-submit では困難です ;)

于 2017-01-11T20:21:31.897 に答える