Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Практические руководства
    • Все руководства
      • Интеграция сервиса DataSphere с сервисом Yandex Data Processing
      • Классификация изображений на видеокадрах
      • Запуск вычислений по расписанию в DataSphere
      • Запуск вычислений в DataSphere с помощью API
      • Использование данных из Object Storage для обучения модели в DataSphere
      • Создание сервера MLFlow для логирования экспериментов и артефактов
      • Дообучение моделей в DataSphere

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

  • Необходимые платные ресурсы
  • Перед началом работы
  • Подготовьте инфраструктуру
  • Создайте каталог и сеть
  • Создайте сервисный аккаунт кластера
  • Сгенерируйте пару ключей SSH
  • Настройте DataSphere
  • Создайте проект
  • Измените настройки проекта
  • Создайте бакет
  • Создайте кластер Yandex Data Processing
  • Запустите вычисления на кластере
  • Удалите созданные ресурсы
  1. Машинное обучение и искусственный интеллект
  2. Разработка с помощью DataSphere
  3. Интеграция сервиса DataSphere с сервисом Yandex Data Processing

Интеграция сервиса Yandex DataSphere с сервисом Yandex Data Processing

Статья создана
Yandex Cloud
Обновлена 8 апреля 2025 г.
  • Необходимые платные ресурсы
  • Перед началом работы
  • Подготовьте инфраструктуру
    • Создайте каталог и сеть
    • Создайте сервисный аккаунт кластера
    • Сгенерируйте пару ключей SSH
  • Настройте DataSphere
    • Создайте проект
    • Измените настройки проекта
  • Создайте бакет
  • Создайте кластер Yandex Data Processing
  • Запустите вычисления на кластере
  • Удалите созданные ресурсы

Вы можете использовать кластеры Apache Spark™, развернутые в сервисе Yandex Data Processing, в проектах Yandex DataSphere. Чтобы в DataSphere настроить интеграцию с сервисом Yandex Data Processing:

  1. Подготовьте инфраструктуру.
  2. Создайте бакет.
  3. Создайте кластер Yandex Data Processing.
  4. Настройте проект DataSphere.
  5. Запустите вычисления.

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

Необходимые платные ресурсы

В стоимость поддержки описываемого решения входят:

  • Плата за кластер Yandex Data Processing (см. тарифы Yandex Data Processing).
  • Плата за NAT-шлюз (см. тарифы Virtual Private Cloud).
  • Плата за бакет Object Storage: хранение данных и выполнение операций с ними (см. тарифы Object Storage).

Перед началом работы

Перед началом работы нужно зарегистрироваться в Yandex Cloud, настроить сообщество и привязать к нему платежный аккаунт:

  1. На главной странице DataSphere нажмите Попробовать бесплатно и выберите аккаунт для входа — Яндекс ID или рабочий аккаунт в федерации (SSO).
  2. Выберите организацию Yandex Cloud Organization, в которой вы будете работать в Yandex Cloud.
  3. Создайте сообщество.
  4. Привяжите платежный аккаунт к сообществу DataSphere, в котором вы будете работать. Убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его в интерфейсе DataSphere.

Подготовьте инфраструктуру

Войдите в консоль управления Yandex Cloud и выберите организацию, в которой вы работаете с DataSphere. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт.

Если у вас есть активный платежный аккаунт, на странице облака вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура.

Примечание

Если вы работаете с Yandex Cloud через федерацию удостоверений, вам может быть недоступна платежная информация. В этом случае обратитесь к администратору вашей организации в Yandex Cloud.

Создайте каталог и сеть

Создайте каталог, в котором будет работать ваш кластер Yandex Data Processing.

Консоль управления
  1. В консоли управления выберите облако и нажмите Создать каталог.
  2. Введите имя каталога, например data-folder.
  3. Выберите опцию Создать сеть по умолчанию. Будет создана сеть с подсетями в каждой зоне доступности.
  4. Нажмите Создать.

Подробнее об облаках и каталогах.

Создайте NAT-шлюз для доступа в интернет

Консоль управления
  1. В каталоге data-folder выберите сервис Virtual Private Cloud.
  2. На панели слева выберите Шлюзы.
  3. Нажмите Создать и задайте настройки шлюза:
    • Введите имя шлюза, например nat-for-cluster.
    • Тип шлюза — NAT-шлюз.
    • Нажмите Сохранить.
  4. На панели слева выберите Таблицы маршрутизации.
  5. Нажмите Создать и введите параметры таблицы маршрутизации:
    1. Введите имя, например route-table.
    2. Выберите сеть data-network.
    3. Нажмите Добавить маршрут.
      • В открывшемся окне в поле Next hop выберите Шлюз.
      • В поле Шлюз выберите созданный NAT-шлюз. Префикс назначения заполнится автоматически.
      • Нажмите Добавить.
  6. Нажмите Создать таблицу маршрутизации.

Затем привяжите таблицу маршрутизации к одной из подсетей, чтобы направить трафик из нее через NAT-шлюз:

  1. На панели слева выберите Подсети.
  2. В строке нужной подсети нажмите .
  3. В открывшемся меню выберите пункт Привязать таблицу маршрутизации.
  4. В открывшемся окне выберите созданную таблицу в списке.
  5. Нажмите Привязать.

Создайте сервисный аккаунт кластера

Консоль управления
  1. Перейдите в каталог data-folder.

  2. В списке сервисов выберите Identity and Access Management.

  3. Нажмите кнопку Создать сервисный аккаунт.

  4. Введите имя сервисного аккаунта, например sa-for-data-proc.

  5. Нажмите Добавить роль и назначьте сервисному аккаунту роли:

    • dataproc.agent — для создания и использования кластеров Yandex Data Processing.
    • dataproc.provisioner — для автомасштабирования подкластеров.
    • vpc.user — для работы с сетью кластера Yandex Data Processing.
    • iam.serviceAccounts.user — для создания ресурсов в каталоге от имени сервисного аккаунта.
  6. Нажмите Создать.

Сгенерируйте пару ключей SSH

Для безопасного подключения к хостам кластера Yandex Data Processing потребуются SSH-ключи. Если у вас уже есть сгенерированные SSH-ключи, вы можете пропустить этот шаг.

Как сгенерировать пару ключей SSH
Linux/macOS
Windows 10/11
Windows 7/8
  1. Откройте терминал.

  2. Создайте новый ключ с помощью команды ssh-keygen:

    ssh-keygen -t ed25519 -C "<опциональный_комментарий>"
    

    Вы можете передать в параметре -C пустую строку, чтобы не добавлять комментарий, или не указывать параметр -C вообще — в таком случае будет добавлен комментарий по умолчанию.

    После выполнения команды вам будет предложено указать имя и путь к файлам с ключами, а также ввести пароль для закрытого ключа. Если задать только имя, пара ключей будет создана в текущей директории. Открытый ключ будет сохранен в файле с расширением .pub, закрытый ключ — в файле без расширения.

    По умолчанию команда предлагает сохранить ключ под именем id_ed25519 в директории /home/<имя_пользователя>/.ssh. Если в этой директории уже есть SSH-ключ с именем id_ed25519, вы можете случайно перезаписать его и потерять доступ к ресурсам, в которых он используется. Поэтому рекомендуется использовать уникальные имена для всех SSH-ключей.

Если у вас еще не установлен OpenSSH, установите его по инструкции.

  1. Запустите cmd.exe или powershell.exe (предварительно обновите PowerShell).

  2. Создайте новый ключ с помощью команды ssh-keygen:

    ssh-keygen -t ed25519 -C "<опциональный_комментарий>"
    

    Вы можете передать в параметре -C пустую строку, чтобы не добавлять комментарий, или не указывать параметр -C вообще — в таком случае будет добавлен комментарий по умолчанию.

    После выполнения команды вам будет предложено указать имя и путь к файлам с ключами, а также ввести пароль для закрытого ключа. Если задать только имя, пара ключей будет создана в текущей директории. Открытый ключ будет сохранен в файле с расширением .pub, закрытый ключ — в файле без расширения.

    По умолчанию команда предлагает сохранить ключ под именем id_ed25519 в папку C:\Users\<имя_пользователя>/.ssh. Если в этой директории уже есть SSH-ключ с именем id_ed25519, вы можете случайно перезаписать его и потерять доступ к ресурсам, в которых он используется. Поэтому рекомендуется использовать уникальные имена для всех SSH-ключей.

Создайте ключи с помощью приложения PuTTY:

  1. Скачайте и установите PuTTY.

  2. Добавьте папку с PuTTY в переменную PATH:

    1. Нажмите кнопку Пуск и в строке поиска Windows введите Изменение системных переменных среды.
    2. Справа снизу нажмите кнопку Переменные среды....
    3. В открывшемся окне найдите параметр PATH и нажмите Изменить.
    4. Добавьте путь к папке в список.
    5. Нажмите кнопку ОК.
  3. Запустите приложение PuTTYgen.

  4. В качестве типа генерируемой пары выберите EdDSA. Нажмите Generate и поводите курсором в поле выше до тех пор, пока не закончится создание ключа.

    ssh_generate_key

  5. В поле Key passphrase введите надежный пароль. Повторно введите его в поле ниже.

  6. Нажмите кнопку Save private key и сохраните закрытый ключ. Никому не сообщайте ключевую фразу от него.

  7. Нажмите кнопку Save public key и сохраните открытый ключ в файле <имя_ключа>.pub.

Важно

Надежно сохраните закрытый ключ: без него подключиться к ВМ будет невозможно.

Настройте DataSphere

Чтобы работать с кластерами Yandex Data Processing в DataSphere, создайте и настройте проект.

Создайте проект

  1. Откройте главную страницу DataSphere.
  2. На панели слева выберите Сообщества.
  3. Выберите сообщество, в котором вы хотите создать проект.
  4. На странице сообщества нажмите кнопку Создать проект.
  5. В открывшемся окне укажите имя и (опционально) описание проекта.
  6. Нажмите кнопку Создать.

Измените настройки проекта

  1. Перейдите на вкладку Настройки.

  2. В блоке Расширенные настройки нажмите кнопку Редактировать.

  3. Укажите параметры:

    • Каталог по умолчанию — data-folder.

    • Сервисный аккаунт — sa-for-data-proc.

    • Подсеть — подсеть зоны доступности ru-central1-a в каталоге data-folder.

      Примечание

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

    • Группу безопасности, если они используются в вашей организации.

  4. Нажмите Сохранить.

Создайте бакет

Консоль управления
  1. В консоли управления выберите каталог, в котором хотите создать бакет.
  2. В списке сервисов выберите Object Storage.
  3. Нажмите кнопку Создать бакет.
  4. В поле Имя укажите имя бакета.
  5. В полях Доступ на чтение объектов, Доступ к списку объектов и Доступ на чтение настроек выберите Ограниченный.
  6. Нажмите кнопку Создать бакет.

Создайте кластер Yandex Data Processing

Перед созданием кластера убедитесь, что в вашем облаке имеется достаточный суммарный объем SSD-дисков (по умолчанию для нового облака выделяется 200 ГБ).

Посмотреть имеющиеся у вас ресурсы можно в консоли управления в разделе Квоты.

Консоль управления
  1. В консоли управления выберите каталог, в котором нужно создать кластер.

  2. Нажмите Создать ресурс и выберите Кластер Yandex Data Processing в выпадающем списке.

  3. Введите имя кластера в поле Имя кластера. Имя кластера должно быть уникальным в рамках каталога.

  4. В поле Окружение выберите PRODUCTION.

  5. В поле Версия выберите 2.0.

  6. В поле Сервисы выберите: LIVY, SPARK, YARN и HDFS.

  7. Вставьте в поле SSH-ключ публичную часть вашего SSH-ключа.

  8. В поле Сервисный аккаунт выберите sa-for-data-proc.

  9. В поле Зона доступности выберите ru-central1-a.

  10. При необходимости в поле Свойства задайте свойства Hadoop и его компонентов, например:

    hdfs:dfs.replication : 2
    hdfs:dfs.blocksize : 1073741824
    spark:spark.driver.cores : 1
    
    Доступные свойства в официальной документации компонентов
    • Flume 1.8.0
    • Hadoop
    • HBASE
    • HDFS
    • HIVE
    • MapReduce
    • Spark
    • SQOOP
    • Tez 0.9.1
    • YARN
    • Zeppelin 0.7.3
    • ZooKeeper 3.4.6
  11. В поле Имя бакета выберите созданный бакет.

  12. Выберите сеть для кластера.

  13. Включите опцию UI Proxy, чтобы получить доступ к веб-интерфейсам компонентов Yandex Data Processing.

  14. Настройте подкластеры: не больше одного главного подкластера с управляющим хостом (обозначается как Мастер) и подкластеры для хранения данных или вычислений.

    Примечание

    Для проведения вычислений на кластерах у вас должен быть хотя бы один подкластер типа Compute или Data.

    Роли подкластеров (Compute и Data) различаются тем, что на Data-подкластерах можно разворачивать компоненты для хранения данных, а на Compute — компоненты обработки данных. Хранилище на подкластере Compute предназначено только для временного хранения обрабатываемых файлов.

  15. Для каждого подкластера можно настроить:

    • Количество хостов.
    • Класс хостов — платформа и вычислительные ресурсы, доступные хосту.
    • Размер и тип хранилища.
    • Подсеть сети, в которой расположен кластер.
  16. Для Compute-подкластеров можно задать параметры автоматического масштабирования.

  17. После настройки всех подкластеров нажмите Создать кластер.

Yandex Data Processing запустит операцию создания кластера. После того как кластер перейдет в статус Running, вы можете подключиться к любому активному подкластеру с помощью указанного SSH-ключа.

Созданный кластер Yandex Data Processing появится в проекте DataSphere в разделе Ресурсы проекта ⟶ Yandex Data Processing ⟶ Доступные кластеры.

Запустите вычисления на кластере

  1. Откройте проект DataSphere:

    1. Выберите нужный проект в своем сообществе или на главной странице DataSphere во вкладке Недавние проекты.

    2. Нажмите кнопку Открыть проект в JupyterLab и дождитесь окончания загрузки.
    3. Откройте вкладку с ноутбуком.
  2. В ячейку вставьте код для вычисления, например:

    #!spark --cluster <имя_кластера>
    import random
    
    def inside(p):
        x, y = random.random(), random.random()
        return x*x + y*y < 1
    
    NUM_SAMPLES = 1_000_000
    
    count = sc.parallelize(range(0, NUM_SAMPLES)) \
        .filter(inside).count()
    print("Pi is roughly %f" % (4.0 * count / NUM_SAMPLES))
    

    Где #!spark --cluster <имя_кластера> — обязательная системная команда для запуска вычислений на кластере.

    Дождитесь запуска вычисления. Под ячейкой в процессе вычисления будут отображаться логи.

  3. Запишите данные в S3, указав имя бакета:

    #!spark 
    data = [[1, "tiger"], [2, "lion"], [3, "snow leopard"]]
    df = spark.createDataFrame(df, schema="id LONG, name STRING")
    df.repartition(1).write.option("header", True).csv("s3://<имя_бакета>/")
    
  4. Запустите ячейки, выбрав в меню Run ⟶ Run Selected Cells (также можно использовать сочетание клавиш Shift + Enter).

После этого файл появится в бакете. Чтобы просматривать содержимое бакета в интерфейсе JupyterLab, создайте и активируйте в проекте коннектор S3.

Примечание

Чтобы получить из кластера Yandex Data Processing данные больше 100 МБ, используйте коннектор S3.

Подробнее о запуске вычислений на кластерах Yandex Data Processing в DataSphere см. в концепции.

Удалите созданные ресурсы

Важно

Используя кластер, развернутый в сервисе Yandex Data Processing, вы управляете его жизненным циклом самостоятельно. Кластер будет работать и тарифицироваться, пока вы его не выключите.

Некоторые ресурсы платные. Чтобы за них не списывалась плата, удалите ресурсы, которые вы больше не будете использовать:

  • объекты из бакета;
  • бакет;
  • кластер;
  • проект;
  • подсеть;
  • таблицу маршрутизации;
  • NAT-шлюз;
  • сеть;
  • сервисный аккаунт.

См. также

Временные кластеры Yandex Data Processing, развернутые в DataSphere

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

Предыдущая
Все руководства
Следующая
Классификация изображений на видеокадрах
Проект Яндекса
© 2025 ООО «Яндекс.Облако»