«Python не найден, но может быть установлен» при использовании spark-отправки в Windows

#python #apache-spark #pyspark

Вопрос:

Я установил PySpark в Windows, следуя инструкциям, описанным здесь, с версией Spark 3.1.2 и типом пакета, предварительно созданным для Apache Hadoop 2.7, в то время как версия python 3.9.6.

Я хотел попробовать spark-отправить с примером wordcount, поэтому я зашел в командную строку в каталоге SPARK_HOME и ввел это:

  binspark-submit examplessrcmainpythonwordcount.py README.md
 

Тем не менее, я получил это сообщение:

 Python was not found but can be installed from the Microsoft Store: ms-windows-store://pdp/?productid=9NJ46SX7X90P 
 

Я не знаю, что не так, я убедился, что Python был добавлен в PATH, когда я его установил, и команда binpyspark, похоже, тоже работает правильно. Я также попытался перейти в Настройки > Приложения >> Псевдонимы выполнения приложений>> и отключить все параметры python, но это не работает.

Изменить: Это сообщение об ошибке, которое я получаю, если попробую метод псевдонимов выполнения приложения:

 Exception in thread "main" java.io.IOException: Cannot run program "python3": CreateProcess error=2, The system cannot find the file specified
        at java.lang.ProcessBuilder.start(Unknown Source)
        at org.apache.spark.deploy.PythonRunner$.main(PythonRunner.scala:97)
        at org.apache.spark.deploy.PythonRunner.main(PythonRunner.scala)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.apache.spark.deploy.JavaMainApplication.start(SparkApplication.scala:52)
        at org.apache.spark.deploy.SparkSubmit.org$apache$spark$deploy$SparkSubmit$runMain(SparkSubmit.scala:951)
        at org.apache.spark.deploy.SparkSubmit.doRunMain$1(SparkSubmit.scala:180)
        at org.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:203)
        at org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:90)
        at org.apache.spark.deploy.SparkSubmit$anon$2.doSubmit(SparkSubmit.scala:1039)
        at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:1048)
        at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
        at java.lang.ProcessImpl.create(Native Method)
        at java.lang.ProcessImpl.<init>(Unknown Source)
        at java.lang.ProcessImpl.start(Unknown Source)
        ... 15 more