Отправьте проект Python в задание DataprocPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Отправьте проект Python в задание Dataproc

Сообщение Anonymous »

У меня есть проект Python, папка которого имеет структуру

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

main_directory - lib - lib.py
- run - script.py

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

script.py
— это

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

from lib.lib import add_two
spark = SparkSession \
.builder \
.master('yarn') \
.appName('script') \
.getOrCreate()

print(add_two(1,2))
и lib.py — это

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

def add_two(x,y):
return x+y
Я хочу запустить задание Dataproc в GCP. Я проверил онлайн, но не совсем понял, как это сделать. Я пытаюсь запустить скрипт с помощью

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

gcloud dataproc jobs submit pyspark --cluster=$CLUSTER_NAME --region=$REGION \
run/script.py
Но я получаю следующее сообщение об ошибке:

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

from lib.lib import add_two
ModuleNotFoundError: No module named 'lib.lib'
Не могли бы вы помочь мне, как мне запустить задание на Dataproc? Единственный способ, который я нашел, — это удалить абсолютный путь, внеся это изменение в script.py:

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

 from lib import add_two
и запустите задание как

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

gcloud dataproc jobs submit pyspark --cluster=$CLUSTER_NAME --region=$REGION \
--files /lib/lib.py \
/run/script.py
Однако мне бы хотелось избежать утомительного процесса каждый раз вручную составлять список файлов.

По предложению @Игоря упаковать в zip-файл я обнаружил, что

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

zip -j --update -r libpack.zip /projectfolder/* && spark-submit --py-files libpack.zip /projectfolder/run/script.py
работает. Однако при этом все файлы помещаются в одну и ту же корневую папку в libpack.zip, поэтому, если бы в подпапках были файлы с одинаковыми именами, это не сработало бы.

Есть предложения?

Подробнее здесь: https://stackoverflow.com/questions/613 ... taproc-job
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • ModuleNotFoundError: при отправке задания PySpark в Google Cloud Dataproc нет модуля с именем «minio».
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Доступ к набору данных BigQuery из другого проекта GCP с использованием PySpark в Dataproc
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Dataproc PySpark BatchOp передает выходные данные компонента в словарь свойств runtime_config
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Ошибка несоответствия версий для бессерверной среды выполнения dataproc 1.2.
    Anonymous » » в форуме JAVA
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • DataProc без сервера Javaagent Jar
    Anonymous » » в форуме JAVA
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous

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