Spark-Submit: невозможно запустить с virtualenv - PullRequest
2 голосов
/ 28 января 2020

У меня есть приложение python, которое я хочу запустить через виртуальную среду с использованием spark submit. Вот моя команда

PYSPARK_PYTHON=./venv/bin/python spark-submit --conf spark.yarn.appMasterEnv.PYSPARK_PYTHON=./venv/bin/python --master yarn --deploy-mode cluster --archives venv.zip#venv test.py

здесь, venv.zip - это архивированная виртуальная среда. Теперь, когда я запускаю команду spark-submit, я получаю это на консоли

20/01/28 17:08:12 INFO org.apache.hadoop.yarn.client.RMProxy: Connecting to ResourceManager at myMasterNode/some.ip:somePort
20/01/28 17:08:13 INFO org.apache.hadoop.yarn.client.AHSProxy: Connecting to Application History server at myMasterNode/some.ip:somePort
20/01/28 17:08:16 INFO org.apache.hadoop.yarn.client.api.impl.YarnClientImpl: Submitted application application_1580155727514_5620
Exception in thread "main" org.apache.spark.SparkException: Application application_1580155727514_5620 finished with failed status
    at org.apache.spark.deploy.yarn.Client.run(Client.scala:1165)
    at org.apache.spark.deploy.yarn.YarnClusterApplication.start(Client.scala:1520)
    at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:894)
    at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:198)
    at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:228)
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:137)
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

и в журнале пряжи, вот что я вижу

20/01/28 17:08:53 ERROR org.apache.spark.deploy.yarn.ApplicationMaster: User class threw exception: java.io.IOException: Cannot run program "./signal/bin/python": error=2, No such file or directory
java.io.IOException: Cannot run program "./venv/bin/python": error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)

что я делаю неправильно ? Как я могу убедиться, что venv.zip правильно копируется и распаковывается?

1 Ответ

1 голос
/ 28 января 2020

при распаковке поместите каталог venv внутри # venv.

, поэтому должен быть spark.yarn.appMasterEnv.PYSPARK_PYTHON =. / Venv / venv / bin / python

, если вы измените zip для tar.gz эта проблема исчезнет go

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...