Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • AI Studio
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Yandex Managed Service for Apache Spark™
  • Начало работы
    • Все инструкции
      • Задания Spark
      • Задания PySpark
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • История изменений

В этой статье:

  • Создать задание
  • Отменить задание
  • Получить список заданий
  • Получить общую информацию о задании
  • Получить логи выполнения задания
  1. Пошаговые инструкции
  2. Задания (jobs)
  3. Задания Spark

Управление заданиями Spark

Статья создана
Yandex Cloud
Обновлена 26 мая 2025 г.
  • Создать задание
  • Отменить задание
  • Получить список заданий
  • Получить общую информацию о задании
  • Получить логи выполнения задания

Примечание

Функциональность находится на стадии Preview.

Создать заданиеСоздать задание

Важно

Задание будет запущено автоматически после его создания.

Чтобы создать задание:

Консоль управления
gRPC API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for Apache Spark.

  2. Нажмите на имя нужного кластера и выберите вкладку Задания.

  3. Нажмите кнопку Создать задание.

  4. Укажите имя задания.

  5. В поле Тип задания выберите Spark.

  6. В поле Основной JAR файл укажите путь к основному JAR-файлу приложения в формате:

    Размещение файла Формат пути
    Файловая система инстанса file:///<путь_к_файлу>
    Бакет Object Storage s3a://<имя_бакета>/<путь_к_файлу>
    Интернет http://<путь_к_файлу> или https://<путь_к_файлу>

    Допускается использование архивов стандартных для Linux форматов: zip, gz, xz, bz2 и т. д.

    Сервисному аккаунту кластера необходим доступ на чтение ко всем файлам в бакете. Пошаговые инструкции по настройке доступа к Object Storage приведены в разделе Редактирование ACL бакета.

  7. В поле Основной класс укажите имя основного класса приложения.

  8. Укажите аргументы задания.

    Если аргумент, переменная или свойство состоит из нескольких частей, разделенных пробелом, указывайте каждую часть отдельно. При этом важно сохранить порядок объявления аргументов, переменных и свойств.

    Например, аргумент -n 1000 должен быть преобразован в два аргумента -n и 1000, стоящих последовательно.

  9. (Опционально) Укажите пути к JAR-файлам, если они используются.

  10. (Опционально) Задайте продвинутые настройки:

    • Укажите пути к необходимым файлам и архивам.
    • В поле Настройки укажите свойства компонентов в виде пар ключ-значение.
    • Укажите координаты используемых и исключаемых Maven-пакетов, а также URL дополнительных репозиториев для поиска пакетов.
  11. Нажмите кнопку Создать задание.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Воспользуйтесь вызовом JobService.Create и выполните запрос, например, с помощью gRPCurl:

    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/spark/v1/job_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
               "cluster_id": "<идентификатор_кластера>",
               "name": "<имя_задания>",
               "spark_job": {
                 "args": [
                   <список_аргументов>
                 ],
                 "jar_file_uris": [
                   <список_путей_к_JAR-файлам>
                 ],
                 "file_uris": [
                   <список_путей_к_файлам>
                 ],
                 "archive_uris": [
                   <список_путей_к_архивам>
                 ],
                 "properties": {
                   <список_свойств>
                 },
                 "main_jar_file_uri": "<путь_к_основному_JAR-файлу>",
                 "main_class": "<имя_основного_класса>",
                 "packages": [
                   <список_Maven-координат_пакетов>
                 ],
                 "repositories": [
                   <URL_репозиториев_для_поиска_пакетов>
                 ],
                 "exclude_packages": [
                   <список_Maven-координат_исключаемых_пакетов>
                 ]
               }
           }' \
        spark.api.yandexcloud.kz:443 \
        yandex.cloud.spark.v1.JobService.Create
    

    Где:

    • name — имя Spark-задания.

    • spark_job — параметры Spark-задания:

      • args — аргументы задания.

      • jar_file_uris — пути к используемым JAR-файлам.

      • file_uris — пути к используемым файлам.

      • archive_uris — пути к используемым архивам.

      • properties — свойства компонентов в виде пар «ключ:значение».

      • main_jar_file_uri — путь к основному JAR-файлу приложения в формате:

        Размещение файла Формат пути
        Файловая система инстанса file:///<путь_к_файлу>
        Распределенная файловая система кластера hdfs:///<путь_к_файлу>
        Бакет Object Storage s3a://<имя_бакета>/<путь_к_файлу>
        Интернет http://<путь_к_файлу> или https://<путь_к_файлу>

        Допускается использование архивов стандартных для Linux форматов: zip, gz, xz, bz2 и т. д.

        Сервисному аккаунту кластера необходим доступ на чтение ко всем файлам в бакете. Пошаговые инструкции по настройке доступа к Object Storage приведены в разделе Редактирование ACL бакета.

      • main_class — имя основного класса приложения.

      • packages — Maven-координаты JAR-файлов в формате groupId:artifactId:version.

      • repositories — URL дополнительных репозиториев для поиска пакетов.

      • exclude_packages — Maven-координаты пакетов, которые нужно исключить, в формате groupId:artifactId.

    Идентификатор кластера можно получить со списком кластеров в каталоге.

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Отменить заданиеОтменить задание

Примечание

Задания в статусах ERROR, DONE или CANCELLED отменить нельзя. Чтобы узнать статус задания, получите список заданий в кластере.

Консоль управления
gRPC API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for Apache Spark.
  2. Нажмите на имя нужного кластера и выберите вкладку Задания.
  3. Нажмите на имя нужного задания.
  4. В правом верхнем углу страницы нажмите кнопку Отменить.
  5. В открывшемся окне выберите Отменить задание.
  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Воспользуйтесь вызовом JobService.Cancel и выполните запрос, например, с помощью gRPCurl:

    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/spark/v1/job_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
               "cluster_id": "<идентификатор_кластера>",
               "job_id": "<идентификатор_задания>"
           }' \
        spark.api.yandexcloud.kz:443 \
        yandex.cloud.spark.v1.JobService.Cancel
    

    Идентификатор кластера можно получить со списком кластеров в каталоге, идентификатор задания — со списком заданий в кластере.

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Получить список заданийПолучить список заданий

Консоль управления
gRPC API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for Apache Spark.
  2. Нажмите на имя нужного кластера и выберите вкладку Задания.
  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Воспользуйтесь вызовом JobService.List и выполните запрос, например, с помощью gRPCurl:

    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/spark/v1/job_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
               "cluster_id": "<идентификатор_кластера>"
           }' \
        spark.api.yandexcloud.kz:443 \
        yandex.cloud.spark.v1.JobService.List
    

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Получить общую информацию о заданииПолучить общую информацию о задании

Консоль управления
gRPC API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for Apache Spark.
  2. Нажмите на имя нужного кластера и выберите вкладку Задания.
  3. Нажмите на имя нужного задания.
  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Воспользуйтесь вызовом JobService.Get и выполните запрос, например, с помощью gRPCurl:

    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/spark/v1/job_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
               "cluster_id": "<идентификатор_кластера>",
               "job_id": "<идентификатор_задания>"
           }' \
        spark.api.yandexcloud.kz:443 \
        yandex.cloud.spark.v1.JobService.Get
    

    Идентификатор кластера можно получить со списком кластеров в каталоге, идентификатор задания — со списком заданий в кластере.

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Получить логи выполнения заданияПолучить логи выполнения задания

Важно

Чтобы получать логи выполнения заданий, включите запись логов в кластере при его создании.

Консоль управления
gRPC API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for Apache Spark.
  2. Нажмите на имя нужного кластера и выберите вкладку Задания.
  3. Нажмите на имя нужного задания.
  4. В поле Логи выполнения задания нажмите на ссылку.
  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Воспользуйтесь вызовом JobService.ListLog и выполните запрос, например, с помощью gRPCurl:

    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/spark/v1/job_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
               "cluster_id": "<идентификатор_кластера>",
               "job_id": "<идентификатор_задания>"
           }' \
        spark.api.yandexcloud.kz:443 \
        yandex.cloud.spark.v1.JobService.ListLog
    

    Идентификатор кластера можно запросить со списком кластеров в каталоге, идентификатор задания — со списком заданий в кластере.

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Была ли статья полезна?

Предыдущая
Удаление кластера
Следующая
Задания PySpark
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»