Я пытаюсь запустить задание PySpark, используя Dataproc . Единственное отличие от всех примеров в том, что я хочу отправить работу из .egg вместо .py файла.
Чтобы отправить задание PySpark в обычный товарный кластер, нужно что-то вроде:
spark2-submit --master yarn \
--driver-memory 20g \
--deploy-mode client \
--conf parquet.compression=SNAPPY \
--jars spark-avro_2.11-3.2.0.jar \
--py-files dummyproject-1_spark-py2.7.egg \
dummyproject-1_spark-py2.7.egg#__main__.py "param1" "param2"
Теперь я хочу отправить точно такую же работу, но с использованием Dataproc.
Для этого я использую следующую команду:
gcloud dataproc jobs submit pyspark \
file:///dummyproject-1_spark-py2.7.egg#__main__.py \
--cluster=my-cluster-001 \
--py-files=file:///dummyproject-1_spark-py2.7.egg
Я получаю ошибку:
Ошибка: невозможно загрузить основной класс из JAR
Файл: /dummyproject-1_spark-py2.7.egg
Важно отметить, что когда я пытаюсь запустить простое задание PySpark с использованием файла .py, он работает правильно.
Может кто-нибудь сказать мне, как я могу запустить задание PySpark из файла .egg вместо .py файла?