Объект «JavaPackage» не является вызываемой ошибкой при попытке локального сеанса искры getOrCreate()Python

Программы на Python
Ответить
Anonymous
 Объект «JavaPackage» не является вызываемой ошибкой при попытке локального сеанса искры getOrCreate()

Сообщение Anonymous »

Я установил небольшую машину Xubuntu, намереваясь сделать ее своим одноузловым кластером Spark. Кластер, похоже, настроен правильно — я могу получить доступ к веб-интерфейсу через порт 8080, он показывает, что подключен один рабочий процесс, и я также могу подключить IP-адрес через порт 7077 по телнету.
Изображение

Затем я настроил Python venv, установите некоторые зависимости, например pyspark и py4j, и выполните следующий код:

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

from pyspark.sql import SparkSession
import findspark

if __name__ == "__main__":

findspark.init()
spark = SparkSession.builder.appName("test2").master("spark://xubuntu-mini:7077").getOrCreate()
И это приводит к следующей ошибке:

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

25/12/25 11:10:10 WARN Utils: Your hostname, xubuntu-mini resolves to a loopback address: 127.0.1.1; using 192.168.0.81 instead (on interface enp3s0f0)
25/12/25 11:10:10 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
25/12/25 11:10:11 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Traceback (most recent call last):
File "/home/sopel/./sparktest.py", line 7, in 
spark = SparkSession.builder.appName("test2").master("spark://xubuntu-mini:7077").getOrCreate()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sopel/pyspark-test/lib/python3.12/site-packages/pyspark/sql/session.py", line 560, in getOrCreate
session = SparkSession(sc, options=self._options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sopel/pyspark-test/lib/python3.12/site-packages/pyspark/sql/session.py", line 636, in __init__
jSparkSessionClass.getDefaultSession().isDefined()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'JavaPackage' object is not callable
Что интересно, в SparkUI я вижу наличие связи между моим скриптом Python и драйвером Spark, потому что после выполнения я вижу это в пользовательском интерфейсе:
Изображение

Однако, когда я Если копнуть глубже, состояние исполнителя этого приложения — «Убито», его журнал stdout пуст, а журнал stderr выглядит следующим образом:

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

Spark Executor Command: "/usr/lib/jvm/java-17-openjdk-amd64/bin/java" "-cp" "/opt/spark/conf/:/opt/spark/jars/*" "-Xmx1024M" "-Dspark.driver.port=42133" "-Djava.net.preferIPv6Addresses=false" "-XX:+IgnoreUnrecognizedVMOptions" "--add-opens=java.base/java.lang=ALL-UNNAMED" "--add-opens=java.base/java.lang.invoke=ALL-UNNAMED" "--add-opens=java.base/java.lang.reflect=ALL-UNNAMED" "--add-opens=java.base/java.io=ALL-UNNAMED" "--add-opens=java.base/java.net=ALL-UNNAMED" "--add-opens=java.base/java.nio=ALL-UNNAMED" "--add-opens=java.base/java.util=ALL-UNNAMED" "--add-opens=java.base/java.util.concurrent=ALL-UNNAMED" "--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED" "--add-opens=java.base/jdk.internal.ref=ALL-UNNAMED" "--add-opens=java.base/sun.nio.ch=ALL-UNNAMED" "--add-opens=java.base/sun.nio.cs=ALL-UNNAMED" "--add-opens=java.base/sun.security.action=ALL-UNNAMED" "--add-opens=java.base/sun.util.calendar=ALL-UNNAMED" "--add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMED" "-Djdk.reflect.useDirectMethodHandle=false" "org.apache.spark.executor.CoarseGrainedExecutorBackend" "--driver-url" "spark://CoarseGrainedScheduler@192.168.0.81:42133" "--executor-id" "0" "--hostname" "192.168.0.81" "--cores" "4" "--app-id" "app-20251225110102-0000" "--worker-url" "spark://Worker@192.168.0.81:43017" "--resourceProfileId" "0"
У меня такое ощущение, что это не такая уж большая проблема, возможно, какая-то несовместимость версий или я что-то делаю неправильно. Однако на данный момент у меня больше нет идей.
Что я пробовал:
  • Понижение версии JAva с 21 до 17 (очевидно, 21 не совместимо со Spark 3.5.7)
  • Подключение с удаленной машины
На самом деле на данный момент я понятия не имею, как я могу попытаться решить эту проблему. Заранее благодарим за все ваши ответы.
Информация о версии:
Spark 3.5.7

openjdk 17.0.17 21 октября 2025 г.

Среда выполнения OpenJDK (сборка 17.0.17+10-Ubuntu-124.04)

64-разрядная серверная виртуальная машина OpenJDK (сборка 17.0.17+10-Ubuntu-124.04, смешанный режим, общий доступ)

Ubuntu 24.04.3 LTS

Подробнее здесь: https://stackoverflow.com/questions/798 ... e-local-sp
Ответить

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

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

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

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

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