Я создаю RESTful API поверх Apache Spark. Выполнение следующего скрипта 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. Я прочитал документацию по этим проектам и пару руководств, но до сих пор не до конца понимаю преимущества Livy или spark-jobserver по сравнению с простым скриптом с CherryPy, Flask или любым другим веб-фреймворком. Это о масштабируемости? Управление контекстом? Что мне здесь не хватает? Если мне нужен простой RESTful API с небольшим количеством пользователей, стоит ли Livy или spark-jobserver трудиться? Если да, то почему?