Как исправить ошибку «Процесс шлюза Java завершился до отправки номера порта». в Python при запуске PySpark?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как исправить ошибку «Процесс шлюза Java завершился до отправки номера порта». в Python при запуске PySpark?

Сообщение Anonymous »

У меня есть код, который я пытаюсь запустить с помощью PySpark в Python 3.13. Вот наименьший объем кода, необходимый для воспроизведения моей проблемы:

Код: Выделить всё

from pyspark.sql import SparkSession
pyspark = SparkSession.builder.master("local[8]").appName("example").getOrCreate()
Каждый раз, когда я запускаю его, я получаю эту ошибку:

Код: Выделить всё

Traceback (most recent call last):
File "C:/Users/Example/test.py", line 6, in 
.getOrCreate()
File "C:\Users\Example\AppData\Roaming\Python\Python313\site-packages\pyspark\sql\session.py", line 497, in getOrCreate
sc = SparkContext.getOrCreate(sparkConf)
File "C:\Users\Example\AppData\Roaming\Python\Python313\site-packages\pyspark\context.py", line 515, in getOrCreate
SparkContext(conf=conf or SparkConf())
File "C:\Users\Example\AppData\Roaming\Python\Python313\site-packages\pyspark\context.py", line 201, in __init__
SparkContext._ensure_initialized(self, gateway=gateway, conf=conf)
File "C:\Users\Example\AppData\Roaming\Python\Python313\site-packages\pyspark\context.py", line 436, in _ensure_initialized
SparkContext._gateway = gateway or launch_gateway(conf)
File "C:\Users\Example\AppData\Roaming\Python\Python313\site-packages\pyspark\java_gateway.py", line 107, in launch_gateway
raise PySparkRuntimeError(
pyspark.errors.exceptions.base.PySparkRuntimeError: [JAVA_GATEWAY_EXITED] Java gateway process exited before sending its port number.
Я ожидаю, что ошибок не будет. Я работаю в Windows 11, использую PySpark 3.5.4 (подтверждено с помощью pip show pyspark в командной строке) на Python 3.13, а также установлена ​​Java 17.0.13 (подтверждена с помощью java -version в командной строке). . Я попытался удалить все остальные версии Python и Java. Я добавил JAVA_HOME и SPARK_HOME в качестве системной переменной и добавил Java и PySpark в переменную Path. Я попытался увеличить выделение памяти Java и PySpark. Я попробовал отключить антивирус. Я попытался настроить конфигурацию log4j, изменив pyspark = SparkSession.builder.master("local[8]").appName("example").getOrCreate() на:

Код: Выделить всё

spark = SparkSession.builder \
.master("local[8]") \
.appName("test") \
.config("spark.sql.warehouse.dir", "file:///C:/tmp") \
.getOrCreate()
Я попробовал добавить ведение журнала, заменив pyspark = SparkSession.builder.master("local[8]").appName("example").getOrCreate() на:< /p>

Код: Выделить всё

spark = SparkSession.builder \
.appName("example") \
.config("spark.ui.showConsoleProgress", "false") \
.config("spark.driver.extraJavaOptions", "-Dlog4j.debug") \
.getOrCreate()
но больше ничего не получилось.
Я попробовал удалить и переустановить PySpark, Python и Java, а также удалить другие установленные мной версии. Для PySpark я попробовал как pip uninstall pyspark, так и pip uninstall pyspark py4j (а затем, конечно же, изменил удаление на установку, чтобы переустановить его). Ни одна из этих вещей или чего-либо, предложенного в вопросах ниже, не остановила ошибку и не изменила ее вообще. Что происходит и как это исправить, чтобы не выдавалось сообщение об ошибке?

[*]Это не дубликат Исключения: процесс шлюза Java завершился раньше отправка номера порта pyspark, ошибка Java. Процесс шлюза Java завершился до отправки номера порта или ошибка Pyspark: процесс шлюза Java завершился до отправки номера порта, поскольку у них другая обратная трассировка, и предлагаемые решения не работают.< /li>
Это не так дубликат инициализации. Исключение: процесс шлюза Java завершился до отправки номера порта, поскольку у меня нет Hadoop и я использую совместимую версию Java.
[*]Это не дубликат PySpark: «Исключение: процесс шлюза Java завершился до отправки драйверу номера порта», потому что я не использую Macbook или Linux, и ни одно из решений не работает.
[*]Это тоже не так. дубликат PySparkRuntimeError: [JAVA_GATEWAY_EXITED] Процесс шлюза Java завершился до отправки номера порта, потому что я (все еще) не использую Macbook.
[*]Это не дубликат ошибки с pyspark «Процесс шлюза Java завершен перед отправкой номера порта», поскольку у меня нет Hadoop, пользователь сталкивается с ошибкой при установке, а не при запуске, и потому что у него возникают другие ошибки, которых нет у меня.
[*] Этот не является дубликатом структурированной потоковой передачи + Kafka: RuntimeError: процесс шлюза Java завершился до отправки номера порта + Не удалось найти источник данных: kafka, поскольку у меня нет kafka.
[*]Это не является дубликатом создания sparkContext в Google Colab, выдает: `RuntimeError: процесс шлюза Java завершился до отправки номера порта`, потому что я не в Google Colab.
[*]Это не так. дубликат Исключения: процесс шлюза Java завершился перед отправкой драйверу номера порта при создании сеанса Spark в Python или pyspark.sql.utils.AnalysisException: не удалось найти источник данных: kafka, поскольку в этих вопросах содержится другая ошибка.

Подробнее здесь: https://stackoverflow.com/questions/793 ... s-port-num
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»