Логотип Зефирнет

Используйте Amazon SageMaker Data Wrangler в Amazon SageMaker Studio с конфигурацией жизненного цикла по умолчанию.

Дата:

Если вы используете конфигурацию жизненного цикла по умолчанию для своего домена или профиля пользователя в Студия Amazon SageMaker И использовать Обработчик данных Amazon SageMaker для подготовки данных, то этот пост для вас. В этом посте мы покажем, как создать поток Data Wrangler и использовать его для подготовки данных в среде Studio с конфигурацией жизненного цикла по умолчанию.

Data Wrangler — это возможность Создатель мудреца Амазонки Это позволяет специалистам по данным и инженерам быстрее подготавливать данные для приложений машинного обучения (ML) через визуальный интерфейс. Подготовка данных является важным этапом жизненного цикла машинного обучения, и Data Wrangler предоставляет комплексное решение для импорта, исследования, преобразования, придания характеристик и обработки данных для машинного обучения в визуальном интерфейсе с минимальным кодом. Он позволяет легко и быстро подключаться к таким компонентам AWS, как Простой сервис хранения Amazon (Амазон С3), Амазонка Афина, Амазонка Redshiftкачества Формирование озера AWSи внешние источники, такие как Snowflake и DataBricks DeltaLake. Data Wrangler поддерживает стандартные типы данных, такие как CSV, JSON, ORC и Parquet.

Приложения Studio – это интерактивные приложения, которые позволяют использовать визуальный интерфейс Studio, создавать код и работать с ним. Типы приложений могут быть Jupyter Server или Kernel Gateway:

  • Юпитер сервер – Разрешает доступ к визуальному интерфейсу Studio. Каждый пользователь Studio получает собственное приложение Jupyter Server.
  • Шлюз ядра – Предоставляет доступ к среде выполнения кода и ядрам для ваших ноутбуков и терминалов Studio. Для получения дополнительной информации см. Шлюз ядра Jupyter.

Конфигурации жизненного цикла (LCC) — это сценарии оболочки для автоматизации настройки сред Studio, таких как установка расширений JupyterLab, предварительная загрузка наборов данных и настройка репозиториев исходного кода. Сценарии LCC запускаются событиями жизненного цикла Studio, такими как запуск новой записной книжки Studio. Чтобы программно установить конфигурацию жизненного цикла по умолчанию для вашего домена или профиля пользователя, вы можете создать новый ресурс или обновить существующий ресурс. Чтобы связать конфигурацию жизненного цикла по умолчанию, сначала необходимо создать конфигурацию жизненного цикла, выполнив действия, описанные в Создание и связывание конфигурации жизненного цикла

Примечание. Конфигурации жизненного цикла по умолчанию, настроенные на уровне домена, наследуются всеми пользователями, тогда как настройки на уровне пользователя ограничиваются конкретным пользователем. Если вы одновременно применяете конфигурации жизненного цикла на уровне домена и на уровне профиля пользователя, конфигурация жизненного цикла на уровне профиля пользователя имеет приоритет и применяется к приложению независимо от того, какая конфигурация жизненного цикла применяется на уровне домена. Для получения дополнительной информации см. Настройка конфигураций жизненного цикла по умолчанию.

Data Wrangler принимает конфигурацию жизненного цикла Kernel Gateway по умолчанию, но некоторые команды, определенные в конфигурации жизненного цикла Kernel Gateway по умолчанию, неприменимы к Data Wrangler, что может привести к сбою запуска Data Wrangler. На следующем снимке экрана показан пример сообщения об ошибке, которое может появиться при запуске потока Data Wrangler. Это может произойти только с конфигурациями жизненного цикла по умолчанию, но не с конфигурациями жизненного цикла.

Обзор решения

Клиенты, использующие конфигурацию жизненного цикла по умолчанию в Studio, могут следовать этому сообщению и использовать предоставленный блок кода в сценарии конфигурации жизненного цикла для запуска приложения Data Wrangler без каких-либо ошибок.

Настройка конфигурации жизненного цикла по умолчанию

Чтобы настроить конфигурацию жизненного цикла по умолчанию, необходимо добавить ее в DefaultResourceSpec соответствующего типа приложения. Поведение вашей конфигурации жизненного цикла зависит от того, добавлена ​​ли она в DefaultResourceSpec приложения Jupyter Server или Kernel Gateway:

  • Приложения сервера Jupyter - При добавлении в DefaultResourceSpec приложения Jupyter Server сценарий конфигурации жизненного цикла по умолчанию запускается автоматически, когда пользователь входит в Studio в первый раз или перезапускает Studio. Вы можете использовать это для автоматизации однократных действий по настройке среды разработчика Studio, таких как установка расширений записной книжки или настройка репозитория GitHub. Пример этого см. Настройте Amazon SageMaker Studio с помощью конфигураций жизненного цикла.
  • Приложения шлюза ядра - При добавлении в DefaultResourceSpec приложения Kernel Gateway Studio по умолчанию выбирает сценарий конфигурации жизненного цикла из средства запуска Studio. Вы можете запустить блокнот или терминал со сценарием по умолчанию или выбрать другой из списка конфигураций жизненного цикла.

Конфигурация жизненного цикла Kernel Gateway по умолчанию, указанная в DefaultResourceSpec применяется ко всем образам Kernel Gateway в домене Studio, если вы не выберете другой сценарий из списка, представленного в средстве запуска Studio.

Когда вы работаете с конфигурациями жизненного цикла для Studio, вы создаете конфигурацию жизненного цикла и прикрепляете ее либо к своему домену Studio, либо к профилю пользователя. Затем вы можете запустить приложение Jupyter Server или Kernel Gateway, чтобы использовать конфигурацию жизненного цикла.

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

Уровень, на котором конфигурация жизненного цикла Применены

Создать поток обработчика данных Работает (или) Ошибка

Обходной путь
Домен Ошибка при плохом запросе Примените скрипт (см. ниже)
Профиль пользователя Ошибка при плохом запросе Примените скрипт (см. ниже)
Применение Работает — без проблем Не требуется

При использовании конфигурации жизненного цикла по умолчанию, связанной со Studio и Data Wrangler (приложение Kernel Gateway), вы можете столкнуться со сбоем приложения Kernel Gateway. В этом посте мы покажем, как правильно настроить конфигурацию жизненного цикла по умолчанию, чтобы исключить выполнение команд в приложении Data Wrangler и избежать сбоя приложения Kernel Gateway.

Допустим, вы хотите установить git-клон-репо script в качестве конфигурации жизненного цикла по умолчанию, которая автоматически извлекает репозиторий Git в домашней папке пользователя при запуске сервера Jupyter. Рассмотрим каждый сценарий применения конфигурации жизненного цикла (домен Studio, профиль пользователя или уровень приложения).

Применение конфигурации жизненного цикла на уровне домена Studio или профиля пользователя

Чтобы применить конфигурацию жизненного цикла Kernel Gateway по умолчанию на уровне домена Studio или профиля пользователя, выполните действия, описанные в этом разделе. Начнем с инструкций для уровня профиля пользователя.

В сценарий конфигурации жизненного цикла необходимо включить следующий блок кода, который проверяет и пропускает приложение Data Wrangler Kernel Gateway:

#!/bin/bash
set -eux
STATUS=$(
python3 -c "import sagemaker_dataprep"
echo $?
)
if [ "$STATUS" -eq 0 ]; then
echo 'Instance is of Type Data Wrangler'
else
echo 'Instance is not of Type Data Wrangler'
<remainder of LCC here within in else block – this contains some pip install, etc>
fi

Например, давайте использовать следующий скрипт как наш оригинал (обратите внимание, что папка для клонирования репо изменена на /root from /home/sagemaker-user):

# Clones a git repository into the user's home folder
#!/bin/bash

set -eux

# Replace this with the URL of your git repository
export REPOSITORY_URL="https://github.com/aws-samples/sagemaker-studio-lifecycle-config-examples.git"

git -C /root clone $REPOSITORY_URL

Новый модифицированный скрипт выглядит следующим образом:

#!/bin/bash
set -eux
STATUS=$(
python3 -c "import sagemaker_dataprep"
echo $?
)
if [ "$STATUS" -eq 0 ]; then
echo 'Instance is of Type Data Wrangler'
else
echo 'Instance is not of Type Data Wrangler'

# Replace this with the URL of your git repository
export REPOSITORY_URL="https://github.com/aws-samples/sagemaker-studio-lifecycle-config-examples.git"

git -C /root clone $REPOSITORY_URL

fi

Вы можете сохранить этот скрипт как git_command_test.sh.

Теперь вы запускаете серию команд в своем терминале или командной строке. Вам следует настроить Интерфейс командной строки AWS (AWS CLI) для взаимодействия с AWS. Если вы не настроили интерфейс командной строки AWS, см. Настройка AWS CLI.

  1. Конвертировать ваши git_command_test.sh файл в формате Base64. Это требование предотвращает ошибки из-за кодирования пробелов и разрывов строк.
    LCC_GIT=openssl base64 -A -in /Users/abcde/Downloads/git_command_test.sh

  2. Создайте конфигурацию жизненного цикла Studio. Следующая команда создает конфигурацию жизненного цикла, которая запускается при запуске связанного приложения Kernel Gateway:
    aws sagemaker create-studio-lifecycle-config —region us-east-2 —studio-lifecycle-config-name lcc-git —studio-lifecycle-config-content $LCC_GIT —studio-lifecycle-config-app-type KernelGateway

  3. Используйте следующий вызов API, чтобы создать новый профиль пользователя с соответствующей конфигурацией жизненного цикла:
    aws sagemaker create-user-profile --domain-id d-vqc14vvvvvvv 
    --user-profile-name test 
    --region us-east-2 
    --user-settings '{
    "KernelGatewayAppSettings": {
    "LifecycleConfigArns" : ["arn:aws:sagemaker:us-east-2:000000000000:studio-lifecycle-config/lcc-git"],
    "DefaultResourceSpec": {
    "InstanceType": "ml.m5.xlarge",
    "LifecycleConfigArn": "arn:aws:sagemaker:us-east-2:00000000000:studio-lifecycle-config/lcc-git"
    }
    }
    }'

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

  4. Теперь вы можете запустить приложение Studio из панели управления SageMaker.панель управления
  5. В среде Studio на Файл Меню, выберите Новые и Поток обработчика данных.Новый поток Data Wrangler должен открыться без проблем.
    Новый поток обработчика данных
  6. Чтобы проверить клон Git, вы можете открыть новый Launcher в Studio.
  7. Под Ноутбуки и вычислительные ресурсы, выберите блокнот Python 3 и Наука данных Образ SageMaker, чтобы запустить сценарий в качестве сценария конфигурации жизненного цикла по умолчанию.
    Ноутбук и компьютер

Вы можете видеть, что Git клонирован в /root на следующем снимке экрана.

Git клонирован в /root

Мы успешно применили конфигурацию жизненного цикла ядра по умолчанию на уровне профиля пользователя и создали поток обработчика данных. Для настройки на уровне домена Studio единственное изменение заключается в том, что вместо создания профиля пользователя вы передаете ARN конфигурации жизненного цикла в создать домен вызов.

Применение конфигурации жизненного цикла на уровне приложения

Если вы примените конфигурацию жизненного цикла Kernel Gateway по умолчанию на уровне приложения, у вас не возникнет никаких проблем, поскольку Data Wrangler пропускает конфигурацию жизненного цикла, применяемую на уровне приложения.

Заключение

В этом посте мы показали, как правильно настроить конфигурацию жизненного цикла по умолчанию для Studio, когда вы используете Data Wrangler для требований к подготовке и визуализации данных.

Подводя итог, если вам нужно использовать значение по умолчанию конфигурация жизненного цикла для Studio чтобы автоматизировать настройку среды Studio и использовать Data Wrangler для подготовки данных, вы можете применить конфигурацию жизненного цикла Kernel Gateway по умолчанию на уровне профиля пользователя или домена Studio с соответствующим блоком кода, включенным в конфигурацию вашего жизненного цикла, чтобы конфигурация жизненного цикла по умолчанию проверяла его. и пропускает приложение Data Wrangler Kernel Gateway.

Для получения дополнительной информации см. Следующие ресурсы:


Об авторах

Раджакумар Сампаткумар является главным техническим менеджером по работе с клиентами в AWS, предоставляя клиентам рекомендации по согласованию бизнес-технологий и поддерживая переосмысление их моделей облачных операций и процессов. Он увлечен облачными технологиями и машинным обучением. Радж также является специалистом по машинному обучению и работает с клиентами AWS над проектированием, развертыванием и управлением их рабочими нагрузками и архитектурами AWS.

Вики Чжан работает инженером-разработчиком программного обеспечения в Amazon SageMaker. Она увлечена решением проблем. В свободное время любит смотреть детективные фильмы и играть в бадминтон.

Рахул Набера является консультантом по аналитике данных в AWS Professional Services. Его текущая работа сосредоточена на предоставлении клиентам возможности создавать свои рабочие нагрузки данных и машинного обучения на AWS. В свободное время любит играть в крикет и волейбол.

Spot_img

Последняя разведка

Spot_img

Чат с нами

Всем привет! Могу я чем-нибудь помочь?