Управление заданиями PySpark
Создать задание
-
Перейдите на страницу каталога и выберите сервис Data Proc.
-
Нажмите на имя нужного кластера и выберите вкладку Задания.
-
Нажмите кнопку Создать задание.
-
(опционально) Укажите имя задания.
-
В поле Тип задания выберите
PySpark
. -
В поле Main python файл укажите путь к основному PY-файлу приложения в формате:
Размещение файла Формат пути Файловая система инстанса file:///<путь к файлу>
Распределенная файловая система кластера hdfs:///<путь к файлу>
Бакет Object Storage s3a://<имя бакета>/<путь к файлу>
Интернет http://<путь к файлу>
илиhttps://<путь к файлу>
Допускается использование архивов стандартных для Linux форматов:
zip
,gz
,xz
,bz2
и т. д.Сервисному аккаунту кластера необходим доступ на чтение ко всем файлам в бакете. Пошаговые инструкции по настройке доступа к Object Storage приведены в разделе Редактирование ACL бакета.
-
(опционально) Укажите пути к PY-файлам, если они используются.
-
Укажите аргументы задания.
Если аргумент, переменная или свойство состоит из нескольких частей, разделенных пробелом, указывайте каждую часть отдельно. При этом важно сохранить порядок объявления аргументов, переменных и свойств.
Например, аргумент
-mapper mapper.py
должен быть преобразован в два аргумента-mapper
иmapper.py
, стоящих последовательно. -
(опционально) Укажите пути к JAR-файлам, если они используются.
-
(опционально) Задайте продвинутые настройки:
- Пути к необходимым файлам и архивам.
- Настройки в виде пары
ключ-значение
.
-
Нажмите кнопку Создать задание.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы создать задание:
-
Посмотрите описание команды CLI для создания заданий типа
PySpark
:yc dataproc job create-pyspark --help
-
Создайте задание (в примере приведены не все доступные параметры):
yc dataproc job create-pyspark \ --cluster-name <имя кластера> \ --name <имя задания> \ --main-python-file-uri <путь к основному py-файлу приложения> \ --python-file-uris <пути к дополнительным py-файлам> \ --jar-file-uris <пути к jar-файлам> \ --archive-uris <пути к архивам> \ --properties <ключ-значение> \ --args <аргументы, передаваемые заданию> \ --packages <Maven координаты jar-файлов в формате groupId:artifactId:version> \ --repositories <дополнительные репозитории для поиска packages> \ --exclude-packages <пакеты в формате groupId:artifactId, которые надо исключить>
Пути к необходимым для выполнения задания файлам передавайте в формате:
Размещение файла Формат пути Файловая система инстанса file:///<путь к файлу>
Распределенная файловая система кластера hdfs:///<путь к файлу>
Бакет Object Storage s3a://<имя бакета>/<путь к файлу>
Интернет http://<путь к файлу>
илиhttps://<путь к файлу>
Допускается использование архивов стандартных для Linux форматов:
zip
,gz
,xz
,bz2
и т. д.Сервисному аккаунту кластера необходим доступ на чтение ко всем файлам в бакете. Пошаговые инструкции по настройке доступа к Object Storage приведены в разделе Редактирование ACL бакета.
Идентификатор и имя кластера можно получить со списком кластеров в каталоге.
Воспользуйтесь методом API create и передайте в запросе:
- идентификатор кластера в параметре
clusterId
; - имя задания в параметре
name
; - свойства задания в параметре
pysparkJob
.
Идентификатор кластера можно получить со списком кластеров в каталоге.
Отменить задание
Примечание
Задания в статусах ERROR
, DONE
или CANCELLED
отменить нельзя. Чтобы узнать статус задания, получите список заданий в кластере.
- Перейдите на страницу каталога и выберите сервис Data Proc.
- Нажмите на имя нужного кластера и выберите вкладку Задания.
- Нажмите на имя нужного задания.
- В правом верхнем углу страницы нажмите кнопку Отменить и подтвердите действие.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы отменить задание, выполните команду:
yc dataproc job cancel <идентификатор или имя задания> \
--cluster-name=<имя кластера>
Идентификатор и имя задания можно получить со списком заданий в кластере, имя кластера — со списком кластеров в каталоге.
Воспользуйтесь методом API cancel и передайте в запросе:
- идентификатор кластера в параметре
clusterId
; - идентификатор задания в параметре
jobId
.
Идентификатор кластера можно получить со списком кластеров в каталоге, идентификатор задания — со списком заданий в кластере.
Получить список заданий
- Перейдите на страницу каталога и выберите сервис Data Proc.
- Нажмите на имя нужного кластера и выберите вкладку Задания.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы получить список заданий, выполните команду:
yc dataproc job list --cluster-name <имя кластера>
Идентификатор и имя кластера можно получить со списком кластеров в каталоге.
Воспользуйтесь методом API list и передайте идентификатор кластера в параметре clusterId
запроса.
Идентификатор кластера можно получить со списком кластеров в каталоге.
Получить общую информацию о задании
- Перейдите на страницу каталога и выберите сервис Data Proc.
- Нажмите на имя нужного кластера и выберите вкладку Задания.
- Нажмите на имя нужного задания.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Для получения общей информации о задании выполните команду:
yc dataproc job get \
--cluster-name <имя кластера> \
--name <имя задания>
Идентификатор и имя кластера можно получить со списком кластеров в каталоге.
Воспользуйтесь методом API get и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Его можно получить со списком кластеров в каталоге - Идентификатор задания в параметре
jobId
. Его можно получить со списком заданий в кластере.
Получить логи выполнения задания
Примечание
Вы можете просматривать логи выполнения заданий и искать в них информацию с помощью сервиса Yandex Cloud Logging. Подробнее см. в разделе Работа с логами.
- Перейдите на страницу каталога и выберите сервис Data Proc.
- Нажмите на имя нужного кластера и выберите вкладку Задания.
- Нажмите на имя нужного задания.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы получить логи выполнения задания, выполните команду:
yc dataproc job log \
--cluster-name <имя кластера> \
--name <имя задания>
Идентификатор и имя кластера можно получить со списком кластеров в каталоге.
Воспользуйтесь методом API listLog и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Его можно получить со списком кластеров в каталоге. - Идентификатор задания в параметре
jobId
. Его можно получить со списком заданий в кластере.