Как начать работать с Yandex Managed Service for Apache Spark™
Чтобы начать работу с сервисом:
- Подготовьте облако к работе.
- Подготовьте инфраструктуру.
- Создайте кластер.
- Подготовьте задание PySpark.
- Запустите задание в кластере.
- Проверьте выполнение задания.
Необходимые платные ресурсы
В стоимость поддержки инфраструктуры входит плата за использование бакета Yandex Object Storage (см. тарифы Object Storage).
Подготовьте облако к работе
-
Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь, если вы еще не зарегистрированы. -
Если у вас еще нет каталога, создайте его:
-
В консоли управления
на панели сверху нажмите и выберите нужное облако. -
Справа от названия облака нажмите
. -
Выберите
Создать каталог.
-
Введите имя каталога. Требования к имени:
- длина — от 2 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
(Опционально) Введите описание каталога.
-
Выберите опцию Создать сеть по умолчанию. Будет создана сеть с подсетями в каждой зоне доступности. Также в этой сети будет создана группа безопасности по умолчанию, внутри которой весь сетевой трафик разрешен.
-
Нажмите кнопку Создать.

-
-
Назначьте вашему аккаунту в Yandex Cloud роли:
- managed-spark.admin — чтобы создать кластер;
- vpc.user — чтобы работать с сетью кластера;
- iam.serviceAccounts.user — чтобы привязать сервисный аккаунт к кластеру.
Примечание
Если вы не можете управлять ролями, обратитесь к администратору вашего облака или организации.
Подготовьте инфраструктуру
-
Создайте сервисный аккаунт и назначьте ему роли:
managed-spark.integrationProvider— для взаимодействия Yandex Managed Service for Apache Spark™ с другими сервисами (например для отправки логов и метрик).- storage.editor — для доступа к файлам с PySpark-заданиями в бакете Object Storage.
-
Предоставьте сервисному аккаунту доступ к бакету Object Storage, в котором будут храниться код и данные для заданий на кластере:
- В консоли управления
выберите нужный каталог. - В списке сервисов выберите Object Storage.
-
Откройте созданный ранее бакет.
-
Перейдите в раздел Объекты.
-
Нажмите на кнопку
и выберите Настроить ACL. -
В открывшемся окне Редактирование ACL:
- Начните вводить имя созданного ранее сервисного аккаунта и выберите его из выпадающего списка.
- Выберите права доступа READ и WRITE .
- Нажмите кнопку Добавить.
- Нажмите кнопку Сохранить.
-
- В консоли управления
Создайте кластер
-
В консоли управления выберите каталог, в котором нужно создать кластер.
-
Выберите сервис Managed Service for Apache Spark.
-
Нажмите кнопку Создать кластер.
-
Задайте имя кластера.
-
В поле Сервисный аккаунт выберите созданный ранее сервисный аккаунт.
-
В блоке Сетевые настройки выберите сеть, подсеть и группу безопасности для кластера.
-
Задайте вычислительные ресурсы для хостов, на которых будут запускаться драйверы и исполнители.
-
В блоке Дополнительные настройки настройте логирование:
- Включите настройку Запись логов.
- В поле Назначение выберите место записи логов — Каталог.
- В поле Каталог выберите ваш каталог из списка.
- Выберите Минимальный уровень логирования — INFO.
-
Нажмите кнопку Создать.
-
Дождитесь, когда кластер будет готов к работе: его статус на панели Yandex Managed Service for Apache Spark™ сменится на Running, а состояние — на Alive. Это может занять некоторое время.
Подготовьте задание PySpark
-
Сохраните на локальный компьютер файл с кодом задания pi.py
из репозитория Apache Spark™. Этот код вычисляет приблизительное значение числа Пи методом Монте-Карло. -
Загрузите файл в созданный ранее бакет Object Storage.
Запустите задание PySpark
- В консоли управления
откройте созданный ранее кластер. - Перейдите в раздел Задания.
- Нажмите кнопку Создать задание.
- Выберите Тип задания — PySpark.
- В поле Main python файл введите путь к файлу
pi.pyв форматеs3a://<имя_бакета_Object_Storage>/<имя_файла>. - Нажмите кнопку Создать задание.
Проверьте выполнение задания
-
Дождитесь, пока запущенное задание перейдет в статус Running.
-
Перейдите на вкладку Логи.
-
В логах найдите строку с результатом выполнения задания, например:
Pi is roughly 3.144720