Использование сервиса Yandex Managed Service for Apache Spark™ в Yandex DataSphere
В DataSphere вы можете использовать кластеры Apache Spark™, развернутые в сервисе Yandex Managed Service for Apache Spark™. Подключение кластеров Apache Spark™ выполняется с помощью коннекторов Spark. Для выполнения вычислений в кластере запускается задание с типом SparkConnect.
Чтобы в DataSphere настроить интеграцию с сервисом Managed Service for Apache Spark™:
- Подготовьте инфраструктуру.
- Настройте проект DataSphere.
- Создайте кластер Managed Service for Apache Spark™ и коннектор Spark.
- Запустите вычисления.
Если созданные ресурсы вам больше не нужны, удалите их.
Перед началом работы
Перед началом работы нужно зарегистрироваться в Yandex Cloud, настроить сообщество и привязать к нему платежный аккаунт:
- На главной странице DataSphere
нажмите Попробовать бесплатно и выберите аккаунт для входа — Яндекс ID или рабочий аккаунт в федерации (SSO). - Выберите организацию Yandex Identity Hub, в которой вы будете работать в Yandex Cloud.
- Создайте сообщество.
- Привяжите платежный аккаунт к сообществу DataSphere, в котором вы будете работать. Убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе
ACTIVEилиTRIAL_ACTIVE. Если платежного аккаунта нет, создайте его в интерфейсе DataSphere.
Необходимые платные ресурсы
- Кластер Managed Service for Apache Spark™: вычислительные ресурсы компонентов кластера (см. тарифы Managed Service for Apache Spark™).
- NAT-шлюз: почасовое использование шлюза и исходящий через него трафик (см. тарифы Virtual Private Cloud).
Подготовьте инфраструктуру
Создайте каталог
Создайте каталог, в котором будет работать ваш кластер Apache Spark™.
- В консоли управления
выберите облако и нажмите Создать каталог. - Введите имя каталога, например
data-folder. - Отключите опцию Создать сеть по умолчанию, чтобы создать сеть и подсети вручную.
- Нажмите Создать.
Подробнее об облаках и каталогах.
Создайте сеть
Создайте сеть, в которой будет работать кластер Apache Spark™.
-
В консоли управления
перейдите в каталогdata-folder, созданный ранее. -
В списке сервисов выберите Virtual Private Cloud.
-
В правом верхнем углу нажмите Создать сеть.
-
В поле Имя укажите имя сети
data-network.Вместе с ней автоматически будут созданы три подсети в разных зонах доступности.
-
Нажмите Создать сеть.
Создайте и настройте NAT-шлюз для доступа в интернет
- В каталоге
data-folderвыберите сервис Virtual Private Cloud. - На панели слева выберите
Шлюзы. - Нажмите Создать и задайте настройки шлюза:
- Введите имя шлюза, например
nat-for-cluster. - Выберите Тип шлюза — NAT-шлюз.
- Нажмите Сохранить.
- Введите имя шлюза, например
- На панели слева выберите
Таблицы маршрутизации. - Нажмите Создать и введите параметры таблицы маршрутизации:
- Введите имя, например
route-table. - Выберите сеть
data-network. - Нажмите Добавить маршрут.
- В открывшемся окне в поле Next hop выберите Шлюз.
- В поле Шлюз выберите созданный NAT-шлюз. Префикс назначения заполнится автоматически.
- Нажмите Добавить.
- Нажмите Создать таблицу маршрутизации.
- Введите имя, например
- Привяжите таблицу маршрутизации к одной из подсетей, чтобы направить трафик из нее через NAT-шлюз:
- На панели слева выберите
Подсети. - В строке нужной подсети нажмите
. - В открывшемся меню выберите пункт Привязать таблицу маршрутизации.
- В открывшемся окне выберите созданную таблицу в списке.
- Нажмите Привязать.
- На панели слева выберите
Создайте сервисный аккаунт кластера
-
Перейдите в каталог
data-folder. -
В списке сервисов выберите Identity and Access Management.
-
Нажмите кнопку Создать сервисный аккаунт.
-
Введите имя сервисного аккаунта, например
sa-for-spark. -
Нажмите Добавить роль и назначьте сервисному аккаунту роли:
managed-spark.user— для использования кластеров Apache Spark™.dataproc.agent— для получения информации о заданиях.dataproc.user— для запуска заданий в кластерах Apache Spark™.vpc.user— для работы с сетью кластера Apache Spark™.iam.serviceAccounts.user— для создания ресурсов в каталоге от имени сервисного аккаунта.
-
Нажмите Создать.
Настройте DataSphere
Чтобы работать с кластерами Apache Spark™ в DataSphere, создайте и настройте проект.
Создайте проект
- Откройте главную страницу
DataSphere. - На панели слева выберите
Сообщества. - Выберите сообщество, в котором вы хотите создать проект.
- На странице сообщества нажмите кнопку
Создать проект. - В открывшемся окне укажите имя и (опционально) описание проекта.
- Нажмите кнопку Создать.
Измените настройки проекта
-
Перейдите на вкладку Настройки.
-
В блоке Расширенные настройки нажмите кнопку
Редактировать. -
Укажите параметры:
-
Каталог по умолчанию —
data-folder. -
Сервисный аккаунт —
sa-for-spark. -
Подсеть — подсеть
data-network-ru-central1-a.Примечание
Если вы указали подсеть в настройках проекта, подготовка ВМ при первом запуске вычислений может занять больше времени.
-
Группы безопасности, если они используются в вашей организации.
-
-
Нажмите Сохранить.
Создайте кластер Managed Service for Apache Spark™ и коннектор Spark
-
Создайте кластер Managed Service for Apache Spark™ любой подходящей конфигурации с параметрами:
- Сервисный аккаунт —
sa-for-spark. - Сеть —
data-network. - Подсеть —
data-network-ru-central1-a.
- Сервисный аккаунт —
-
Перейдите в рабочее пространство DataSphere
. -
На панели слева выберите
Сообщества. -
Откройте сообщество, в котором вы создали проект, и выберите нужный проект.
-
В блоке Ресурсы проекта нажмите
Коннектор Spark. -
Нажмите Создать коннектор.
-
В поле Имя задайте имя коннектора. Формат имени:
- Длина — от 3 до 63 символов.
- Может содержать строчные и заглавные буквы латинского и русского алфавита, цифры, дефисы, подчеркивания и пробелы.
- Первый символ должен быть буквой. Последний символ не может быть дефисом, подчеркиванием или пробелом.
-
В блоке Кластер Yandex Data Processing:
- Нажмите на плитку Выберите кластер.
- Выберите из списка созданный ранее кластер Managed Service for Apache Spark™.
-
(Опционально) Чтобы использовать бакет Object Storage в вычислениях, в блоке Настройки S3 укажите идентификатор статического ключа доступа и секрет, в котором хранится секретная часть статического ключа.
-
В блоке Настройки Spark укажите параметры задания SparkConnect:
- Чтобы использовать стандартные настройки кластера Apache Spark™ при выполнении вычислений, выберите опцию Использовать настройки по умолчанию.
- Чтобы вручную дополнить или изменить параметры задания, укажите один или несколько параметров Ключ и Значение.
-
Нажмите Создать. Откроется страница с информацией о созданном коннекторе.
Запустите вычисления
-
Откройте проект DataSphere:
-
Выберите нужный проект в своем сообществе или на главной странице
DataSphere во вкладке Недавние проекты. - Нажмите кнопку Открыть проект в JupyterLab и дождитесь окончания загрузки.
- Откройте вкладку с ноутбуком.
-
-
В ячейку вставьте код для вычисления, например:
df = spark.createDataFrame([(1, "Sarah"), (2, "Maria")]).toDF(*["id", "name"]) df.show() -
Выберите в меню Run → Run Selected Cells или используйте сочетание клавиш Shift + Enter.
-
В открывшемся окне Конфигурации ВМ ноутбука перейдите на вкладку Для кластера Yandex Data Processing.
-
Выберите необходимую конфигурацию и коннектор.
-
Нажмите Выбрать.
В ноутбуке через переменную
sparkстанет доступна локальная сессия PySpark . В кластере Apache Spark™ будет создано и запущено задание SparkConnect для выполнения кода ячеек ноутбука.
Чтобы завершить задание в кластере Apache Spark™, остановите ВМ ноутбука.
Удалите созданные ресурсы
Некоторые ресурсы платные. Чтобы за них не списывалась плата, удалите ресурсы, которые вы больше не будете использовать: