FileNotFoundError:在Heroku上运行pyspark命令时,没有遇到spark submit的此类文件或目录

FileNotFoundError:在Heroku上运行pyspark命令时,没有遇到spark submit的此类文件或目录,heroku,pyspark,gunicorn,spark-submit,Heroku,Pyspark,Gunicorn,Spark Submit,背景:我构建了一个用于基于内容过滤的XGBClassifier模型和一个用于协同过滤的ALS模型(对于ALS,我从pyspark.ml导入),并从这两个模型中获取评级预测的加权和,以生成最终的评级预测,并按降序排序(前5行显示为用户的前5条建议)对于混合推荐系统,该系统基于包含新加坡咖啡饮用店的粗略Yelp数据构建-基本上,我构建了一个混合推荐器,根据Yelp数据向新加坡的咖啡爱好者推荐咖啡饮用店 我已经在本地jupyter笔记本以及虚拟环境中成功构建并运行了它,并将其作为Flask应用程序(j

背景:我构建了一个用于基于内容过滤的XGBClassifier模型和一个用于协同过滤的ALS模型(对于ALS,我从pyspark.ml导入),并从这两个模型中获取评级预测的加权和,以生成最终的评级预测,并按降序排序(前5行显示为用户的前5条建议)对于混合推荐系统,该系统基于包含新加坡咖啡饮用店的粗略Yelp数据构建-基本上,我构建了一个混合推荐器,根据Yelp数据向新加坡的咖啡爱好者推荐咖啡饮用店

我已经在本地jupyter笔记本以及虚拟环境中成功构建并运行了它,并将其作为Flask应用程序(jupyter笔记本中的代码被复制并粘贴到flaskr.py中,并与其附带的静态样式表和html模板一起构成了Flask应用程序)

在准备部署Heroku的过程中,我还准备了一个基于pip freeze命令的requirements.txt文件,该文件包含gunicorn和各种参数,例如--timeout 1800(因为我的flask应用程序花了20分钟才提出建议,所以我想把工作超时时间延长到20分钟(1800秒)),甚至将my.bash_配置文件复制并粘贴到flaskr文件夹中(在这个flaskr文件夹中,还有另一个包含flaskr.py、requirements.txt、Procfile和所使用的相关数据集的flaskr文件夹)

在我的flaskr.py中,我没有使用SparkContext和spark submit,但只有SparkSession和flask应用程序在本地虚拟环境和本地jupyter笔记本中工作,但当我尝试在Heroku上部署Procfile中的gunicorn时,出现了找不到spark submit的FileNotFoundError[ErrNo2]

我尝试在激活虚拟环境的终端上运行heroku run.bin/pyspark(或spark shell),pyspark命令生成以下输出:

而对于sparkshell命令,只有sparksubmit没有找到,但问题是,当我检查时,两个文件在各自的路径中都存在

下面是我在部署的应用程序中单击“提交”时遇到的错误日志:coffee-recsys.herokuapp.com,其中的主要问题(我认为)是红色框中的内容。。。

如果有人能告诉我如何解决这个问题,我将不胜感激,因为我在过去几天一直在网上搜索并整理我的谷歌搜索词,但都无济于事。或者我应该试试其他搜索引擎,比如必应(bing)或雅虎(yahoo)


感谢您提供的任何帮助,即使它不会导致我的应用程序在heroku上成功部署(例如,由于spark-2.4.5和heroku之间可能存在不兼容问题)..

可能您移动了Spark位置,检查$Spark\u HOME环境变量是否可访问/指向预期安装

可能您移动了Spark位置,检查$Spark\u HOME环境变量是否可访问/指向预期安装

是,它确实指向安装路径,但仍然不可用l、 无论如何,感谢您的回复,非常感谢。是的,它确实指向了安装路径,但仍然无效。无论如何,感谢您的回复,非常感谢。