FileNotFoundError: При запуске команд pyspark в Heroku такой файл или каталог для искровой отправки не обнаруживался. - PullRequest
0 голосов
/ 01 мая 2020

Справочная информация. Я создал модель XGBClassifier для контентной фильтрации и модель ALS для совместной фильтрации (для ALS я импортировал из pyspark.ml) и взял взвешенную сумму прогнозных оценок от обоих для получения окончательных рейтинговых прогнозов, которые отсортированы в порядке убывания (и 5 верхних строк показаны для пользователя в качестве 5 лучших рекомендаций) для гибридной системы рекомендаций, которая была построена на данных скрипача Yelp, содержащих точки распития кофе в Сингапуре - в основном, я построил гибридную рекомендацию рекомендовать кофе - Напитки для любителей кофе в Сингапуре на основе данных Yelp.

Я собрал и успешно запустил его в локальном ноутбуке Jupyter, а также в виртуальной среде в виде приложения Flask (код из ноутбука Jupyter был скопированы и вставлены в flaskr.py и вместе с сопровождающими их шаблонами стати c и html составляют приложение flask.

При подготовке к развертыванию с Heroku я также подготовил требование s.txt, основанный на команде pip freeze, Procfile, который содержит gunicorn и различные аргументы, такие как, например, --timeout 1800 (поскольку моему приложению flask потребовалось 20 минут, чтобы выработать рекомендации, поэтому я подумал о том, чтобы увеличить время ожидания работника до 20 минут (1800), и даже скопировал и вставил мой .bash_profile в папку flaskr (в этой папке flaskr есть еще одна папка flaskr, содержащая flaskr.py, needs.txt, Procfile и соответствующие используемые наборы данных).

В моем flaskr.py я не использовал ни SparkContext, ни spark-submit, а только SparkSession и приложение flask работали как в локальной виртуальной среде, так и в моем локальном ноутбуке jupyter, но когда я пытался выполнить развертывание на Heroku с gunicorn в Procfile было вызвано FileNotFoundError [ErrNo2], где не найден spark-submit ...

Я попытался запустить heroku, запустив .bin / pyspark (или spark-shell) -a на Терминале с активированной виртуальной средой и команда pyspark сгенерировала следующий вывод:

* 101 2 *

Хотя для команды spark-shell только spark-submit не было найдено, но проблема в том, что оба файла очень часто присутствуют в соответствующих путях, когда я проверял!

Ниже приведен журнал ошибок, возникающий при нажатии кнопки «отправить» в развернутом приложении: coffee-recsys.herokuapp.com, где основная проблема (как мне кажется) - это содержимое, расположенное внутри красной рамки ... enter image description here

Буду очень признателен, если кто-нибудь сможет рассказать мне о том, как я могу решить эту проблему, поскольку я проводил исследования в Интернете и перерабатывал свои термины поиска в Google в течение последних нескольких дней, но безрезультатно. Или я должен попробовать другие поисковые системы, такие как bing или yahoo?

Любая оказанная помощь приветствуется, даже если она не приводит к успешному развертыванию моего приложения на heroku (например, из-за возможных проблем несовместимости между spark -2.4.5 и героку) ..

...