Работа с коннекторами Spark
В DataSphere вы можете использовать коннекторы Spark, чтобы работать с уже существующими или автоматически создаваемыми кластерами Yandex Data Processing.
Перед началом работы
Для работы с кластерами Yandex Data Processing укажите в настройках проекта следующие параметры:
-
Каталог по умолчанию для интеграции с другими сервисами Yandex Cloud. В нем будет развернут кластер Yandex Data Processing в рамках текущих квот облака, а стоимость использования кластера будет списана с платежного аккаунта облака.
-
Сервисный аккаунт, от имени которого DataSphere будет создавать и управлять кластерами. Сервисному аккаунту понадобятся следующие роли:
dataproc.agent
— для использования кластеров Yandex Data Processing.dataproc.admin
— для создания кластеров из шаблонов Yandex Data Processing.vpc.user
— для работы с сетью кластера Yandex Data Processing.iam.serviceAccounts.user
— для создания ресурсов в каталоге от имени сервисного аккаунта.
-
Подсеть для связи DataSphere с кластером Yandex Data Processing. Кластеру Yandex Data Processing необходим доступ в интернет, поэтому в подсети должен быть настроен NAT-шлюз.
Примечание
Если вы указали подсеть в настройках проекта, время выделения вычислительных ресурсов может быть увеличено.
Важно
Постоянный кластер Yandex Data Processing должен иметь настройку livy:livy.spark.deploy-mode : client
.
Создать коннектор Spark
-
Выберите нужный проект в своем сообществе или на главной странице
DataSphere во вкладке Недавние проекты. -
В блоке Ресурсы проекта нажмите
Коннектор Spark. -
Нажмите Создать коннектор.
-
В поле Имя задайте имя коннектора. Формат имени:
- Длина — от 3 до 63 символов.
- Может содержать строчные и заглавные буквы латинского и русского алфавита, цифры, дефисы, подчеркивания и пробелы.
- Первый символ должен быть буквой. Последний символ не может быть дефисом, подчеркиванием или пробелом.
-
В блоке Кластер Yandex Data Proc выберите, с каким кластером вы планируете работать:
- Выберите кластер — выберите существующий кластер Yandex Data Processing или нажмите Создать кластер в Yandex Data Proc, чтобы перейти в Yandex Data Processing и создать новый. Постоянный кластер Yandex Data Processing должен иметь настройку
livy:livy.spark.deploy-mode : client
. - Создать временный кластер — выберите, чтобы создать временный кластер Yandex Data Processing. Временный кластер будет создан при первом запуске вычислений в ноутбуке проекта.
- Выберите кластер — выберите существующий кластер Yandex Data Processing или нажмите Создать кластер в Yandex Data Proc, чтобы перейти в Yandex Data Processing и создать новый. Постоянный кластер Yandex Data Processing должен иметь настройку
-
(Опционально) В блоке Настройки S3 укажите идентификатор статического ключа доступа и секрет, в котором хранится секретная часть статического ключа для коннектора S3.
Настройки S3 позволяет указать данные для подключения к бакету S3. Это рекомендуется при работе с бакетами Object Storage в любых кластерах, и крайне желательно для кластеров Yandex Data Processing без включенной опции HDFS.
-
В блоке Настройки Spark выберите опцию Использовать настройки по умолчанию, чтобы использовать стандартные настройки кластера Yandex Data Processing или укажите параметры Ключ и Значение, чтобы вручную дополнить или изменить параметры кластера Yandex Data Processing.
Совет
Для кластеров Yandex Data Processing без включенной опции HDFS задайте дополнительный параметр
spark.hadoop.fs.s3a.fast.upload.buffer
=bytebuffer
.Для собственных кластеров с типом подключения Spark Connect задайте дополнительный параметр
dataproc:spark-connect
=enabled
. -
Нажмите Создать. Откроется страница с информацией о созданном коннекторе.
Использовать кластер Yandex Data Processing в проекте
Важно
Если вы работаете с кластерами Yandex Data Processing с помощью коннектора Spark, вместо стандартного окружения проекта в ноутбуке будет использоваться специальное окружение для работы с кластером.
Откройте проект DataSphere:
-
Выберите нужный проект в своем сообществе или на главной странице
DataSphere во вкладке Недавние проекты. - Нажмите кнопку Открыть проект в JupyterLab и дождитесь окончания загрузки.
- Откройте вкладку с ноутбуком.
- Запустите любую ячейку, выбрав в меню Run ⟶ Run Selected Cells или использовав сочетание клавиш Shift + Enter.
- В открывшемся окне Конфигурации ВМ ноутбука перейдите на вкладку Для кластера Yandex Data Proc.
- Выберите необходимую конфигурацию и коннектор.
- Нажмите Выбрать.
Чтобы выключить временный кластер Yandex Data Processing, созданный с помощью коннектора Spark, остановите ВМ ноутбука.
Чтобы перестать платить за постоянный кластер Yandex Data Processing, удалите его в консоли управления.
Изменить коннектор Spark
-
Выберите нужный проект в своем сообществе или на главной странице
DataSphere во вкладке Недавние проекты. - В блоке Ресурсы проекта нажмите
Коннектор Spark. - В списке коннекторов Spark выберите тот, который вы хотите изменить. Нажмите
Редактировать. - Измените коннектор Spark: отредактируйте имя или параметры.
- Нажмите Сохранить.
Поделиться коннектором Spark
Примечание
Делиться ресурсами можно только в рамках одной организации между сообществами, созданными в одной зоне доступности.
Чтобы поделиться коннектором Spark в сообществе, понадобятся роли Editor
в проекте и Developer
в сообществе. Подробнее о ролях, действующих в DataSphere, см. в разделе Управление доступом в DataSphere.
-
Выберите нужный проект в своем сообществе или на главной странице
DataSphere во вкладке Недавние проекты. - В блоке Ресурсы проекта нажмите
Коннектор Spark. - Выберите нужный коннектор Spark в списке.
- Перейдите на вкладку Доступ.
- Включите опцию видимости напротив названия сообщества, с которым нужно поделиться коннектором Spark.
Чтобы коннектор Spark стал доступен для работы в другом проекте, администратор проекта должен добавить его на вкладке Доступные.
Удалить коннектор Spark
Вы можете удалить только коннектор, который недоступен в сообществе.
-
Выберите нужный проект в своем сообществе или на главной странице
DataSphere во вкладке Недавние проекты. - В блоке Ресурсы проекта нажмите
Коннектор Spark. - В списке коннекторов Spark выберите тот, который хотите удалить. Нажмите Удалить.
- Нажмите Подтвердить.
Отобразится сообщение о том, что коннектор удален.
Важно
Фактически удаление ресурсов может занимать до 72 часов.