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