我正在 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 之类的东西。我阅读了这些项目的文档和一些教程,但我仍然不完全理解 Livy 或 spark-jobserver 相对于使用 CherryPy 或 Flask 或任何其他 Web 框架的简单脚本的优势。是关于可扩展性吗?上下文管理?我在这里想念什么?如果我想要的是一个用户不多的简单 RESTful API,那么 Livy 或 spark-jobserver 值得麻烦吗?如果是这样,为什么?