所以我一直在尝试创建一个简单的Flask应用程序,它通过IBM Bluemix使用spark。 python脚本如下所示:
from flask import Flask
import os
from pyspark import SparkContext
sc = SparkContext('local')
app = Flask(__name__)
sc = SparkContext('local')
port = int(os.getenv('VCAP_APP_PORT'))
@app.route('/')
def hello_world():
lines = sc.textFile("Input.txt")
return 'Hello World!' + str(lines.count())
if __name__ == "__main__":
app.run(host='0.0.0.0', port=port)
Requirements文件指定Flask作为我的应用程序的先决条件。然后,Procfile包含以下命令来启动我的应用程序:
web: pyspark hello.py
但是,每当我尝试在bluemix中部署我的应用程序时,该应用程序将无法启动。我知道Spark已经是bluemix中的一项服务,所以我不需要安装任何东西以便运行一个spark应用程序。但是,我不知道我应该在Procfile中使用哪个命令以使我的应用程序正常工作,我猜这是问题的原因,因为每当我删除spark代码并执行它作为普通的python应用程序时脚本工作正常通过 python hello.py
答案 0 :(得分:1)
基于Spark服务文档[1],
对于BETA,只能使用Analytics for Apache Spark服务 作为Spark IPython Boilerplate的一部分。
[1] http://spark-service-attr-yp.ng.bluemix.net/spark_service_attr/documentation.html