Интерактивные сеансы AWS Glue позволяют инженерам создавать, тестировать и запускать рабочие нагрузки по подготовке данных и аналитике в интерактивной записной книжке. Интерактивные сеансы обеспечивают изолированные среды разработки, заботятся о базовом вычислительном кластере и позволяют настроить конфигурацию, чтобы ресурсы не простаивали.
Интерактивные сеансы Glue предоставляют рекомендуемые по умолчанию конфигурации, а также позволяют пользователям настроить сеанс чтобы удовлетворить их потребности. Например, вы можете выделить больше рабочих для экспериментов с большим набором данных или установить время простоя для длительных рабочих нагрузок. Благодаря гибкости изменения этих параметров в зависимости от рабочей нагрузки вам может потребоваться убедиться, что параметры изменяются в определенных пределах, и применить механизм контроля.
В этом посте мы представляем процесс развертывания многоразовое решение чтобы применить ограничения интерактивного сеанса AWS Glue по трем параметрам: подключение, количество рабочих процессов и максимальное время простоя. Первый вариант устраняет необходимость применения пользовательской проверки и контроля над трафиком, например, путем принудительного запуска интерактивного сеанса только внутри VPC. Два других ограничивают расходы и использование Клей AWS ресурсы, устанавливая верхнюю границу числа рабочих и времени простоя за сеанс. Вы можете дополнительно расширить решение для других ресурсов или сервисов в AWS Glue.
Обзор решения
Предлагаемая архитектура построена на бессерверных компонентах и запускается всякий раз, когда создается новый интерактивный сеанс AWS Glue.
Этапы рабочего процесса следующие:
- Инженер данных создает новый интерактивный сеанс AWS Glue либо через Консоль управления AWS или локально в блокноте Jupyter.
- Интерактивный сеанс создает новое событие для AWS CloudTrail для
CreateSession
событие со всей соответствующей информацией для идентификации и проверки сеанса, как только сеанс будет инициирован. - An Amazon EventBridge правило фильтрует события CloudTrail и вызывает AWS Lambda функция для осмотра
CreateSession
мероприятие. - Функция Lambda проверяет
CreateSession
событие и проверяет все заданные граничные условия. В настоящее время границы, настраиваемые с помощью этого решения, ограничены максимальным количеством рабочих процессов, временем простоя в минутах и развертыванием с принудительным подключением. - Если какое-либо из определенных граничных условий не выполняется, например, для сеанса подготовлено слишком много рабочих процессов, в зависимости от предоставленной конфигурации функция немедленно завершает интерактивный сеанс и отправляет электронное письмо через Amazon Простая служба уведомлений (Амазон СНС). Если сеанс еще не начался, функция будет ждать его запуска, прежде чем предпринимать какие-либо действия.
- Если сеанс был остановлен, электронное письмо отправляется в тему SNS. В записной книжке интерактивного сеанса нет информации о причине окончания сеанса. Поэтому дополнительная контекстная информация предоставляется инженерам данных через тему SNS.
- Если функция дает сбой, сеансы регистрируются в очередь недоставленных сообщений внутри Простой сервис очередей Amazon (Амазон СКС). Кроме того, очередь контролируется, и в случае сообщения она вызывает Amazon CloudWatch сигнализация.
Следующие шаги помогут вам создать и развернуть решение. Код доступен в Репо GitHub.
Предпосылки
Для этого прохождения у вас должны быть следующие предпосылки:
Обзор развернутых ресурсов
Все необходимые ресурсы определены в AWS CloudFormation файл, расположенный в cfn/template.yaml
. Для развертывания этих ресурсов мы используем Модель безсерверного приложения AWS (AWS SAM), что позволяет нам удобно создавать и упаковывать все зависимости, а также управляет этапами AWS CloudFormation.
Стек CloudFormation развертывает следующие ресурсы:
- Функция Lambda со своей библиотекой, обе они определены в каталоге src/functions. Функция – контроль. Он подтвердит, что сеанс запущен в установленных пределах.
- Правило EventBridge. Это событие прослушивает CloudTrail и в случае нового интерактивного сеанса запускает контрольную функцию Lambda.
- Очередь недоставленных сообщений SQS (DLQ), прикрепленная к функции Lambda. При этом ведется запись событий, вызвавших сбой функции Lambda.
- Два сигнала тревоги CloudWatch, отслеживающие сбои функции Lambda и сообщения в DLQ.
Если уведомление по электронной почте включено, развертываются еще два ресурса:
Кроме того, AWS CloudFormation развертывает все необходимые Управление идентификацией и доступом AWS (IAM) ролей и политик, а также Служба управления ключами AWS (AWS KMS), чтобы обеспечить шифрование передаваемых данных.
Разверните решение
Чтобы упростить жизненный цикл развертывания, включая настройку локальной среды пользователя, мы предоставляем Makefile, в котором описаны все необходимые шаги. Убедитесь, что ваши учетные данные AWS обновлены и у вас есть доступ к вашей учетной записи. Для получения дополнительной информации см. Настройки файла конфигурации и учетных данных.
- Изучите Makefile и при необходимости настройте регион и имя стека, изменив значения переменных.
AWS_REGION
иSTACK_NAME
. - Поставьте
KILL_SESSION = "True"
если вы хотите немедленно остановить интерактивный сеанс, который был обнаружен за пределами границ. Допустимые значения: True или False; значение по умолчанию — Истина. - Поставьте
NOTIFICATION_EMAIL_ADDRESS = <your.email@provider.com>
вMakefile
если вы хотите получать уведомления, когда сеанс выходит за границы. - Установите значения для ваших элементов управления:
ENFORCE_VPC_CONNECTION
для остановки сеансов, не запущенных внутри VPC (true или false).MAX_WORKERS
установить максимальное количество воркеров для сеанса (числовое).MAX_IDLE_TIMEOUT_MINUTES
чтобы определить максимальное время простоя для сеансов в минутах (числовое).
- Установите все необходимые библиотеки:
Они будут установлены во вновь созданной виртуальной среде Python внутри этого репозитория в каталоге
.venv
. - Разверните новый стек:
Эта команда выполнит следующие задачи:
- Проверьте, соблюдены ли предварительные условия.
- Выполнять
pytest unittest
в файлах Python. - Проверьте шаблон CloudFormation.
- Создайте артефакты (функция Lambda и слои Lambda).
- Разверните ресурсы через AWS SAM.
Проверить решение
Обратитесь к Представляем интерактивные сеансы AWS Glue для Jupyter для получения информации о запуске интерактивного сеанса. Если следовать инструкциям в посте (см. раздел Запустите первую ячейку кода и создайте блокнот AWS Glue.), инициализация интерактивного сеанса должна завершиться ошибкой, подобной следующей.
Пример кода в ячейке:
Полученный вывод:
Если вы включили функцию электронной почты, вы также должны получить уведомление по электронной почте.
Вы также можете проверить в консоли AWS Glue, что вашего идентификатора сеанса нет в списке.
Убирать
Очистите развернутые ресурсы, выполнив следующую команду:
Обратите внимание, что ресурсы, развернутые после рекомендуемого поста, Представляем интерактивные сеансы AWS Glue для Jupyter, не будет удален предыдущей командой.
ограничения
Гарантия доставки событий CloudTrail в EventBridge осуществляется с максимальной эффективностью. Это означает, что CloudTrail попытается доставить все события в EventBridge, но в некоторых редких случаях событие может не быть доставлено. Для получения дополнительной информации см. События из сервисов AWS.
Заключение
В этом посте описано, как создать, развернуть и протестировать решение для применения граничных условий в интерактивных сеансах AWS Glue, чтобы ввести ограничения на количество рабочих процессов, время простоя и подключение к AWS Glue.
Вы можете адаптировать это решение в соответствии с вашими потребностями и дополнительно расширить его, чтобы обеспечить контроль над другими параметрами.
Чтобы узнать больше об использовании интерактивных сеансов AWS Glue, см. Представляем интерактивные сеансы AWS Glue для Jupyter и Создавайте задания AWS Glue с помощью PyCharm, используя интерактивные сеансы AWS Glue..
Об авторах
Николя Джейкоб Бэр — старший архитектор облачных приложений, специализирующийся на обработке данных и машинном обучении, живет в Швейцарии. Он тесно сотрудничает с корпоративными клиентами для разработки платформ данных и создания сценариев использования расширенной аналитики/машинного обучения.
Лука Маццаферро является старшим архитектором DevOps в Amazon Web Services. Ему нравится, когда инфраструктура автоматизирована, воспроизводима и защищена. В свободное время любит готовить, особенно пиццу.
Кемэн Чжан — архитектор облачных приложений, специализирующийся на машинном обучении и UX, из Швейцарии. Она тесно сотрудничает с клиентами, разрабатывая пользовательский опыт и создавая расширенные сценарии использования аналитики/машинного обучения.
Марк Уолсер, старший глобальный архитектор данных в Amazon Web Services, сотрудничает с клиентами для разработки инновационных решений для работы с большими данными, которые решают бизнес-задачи и ускоряют внедрение сервисов AWS. Вне работы он находит удовольствие в беге, плавании и во всем, что связано с технологиями.
Галь Хейн — менеджер по продукту AWS Glue, специализирующийся на искусственном интеллекте, машинном обучении, обработке данных и бизнес-аналитике. Базируется в Калифорнии. Она увлечена развитием глубокого понимания бизнес-потребностей клиентов и сотрудничеством с инженерами для разработки простых в использовании продуктов данных.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- PlatoData.Network Вертикальный генеративный ИИ. Расширьте возможности себя. Доступ здесь.
- ПлатонАйСтрим. Интеллект Web3. Расширение знаний. Доступ здесь.
- ПлатонЭСГ. Автомобили / электромобили, Углерод, чистые технологии, Энергия, Окружающая среда, Солнечная, Управление отходами. Доступ здесь.
- Смещения блоков. Модернизация права собственности на экологические компенсации. Доступ здесь.
- Источник: https://aws.amazon.com/blogs/big-data/enforce-boundaries-on-aws-glue-interactive-sessions/
- :имеет
- :является
- :нет
- $UP
- 1
- 10
- 100
- 7
- a
- О нас
- доступ
- Учетная запись
- Действие
- приспосабливать
- дополнительный
- адреса
- Принятие
- продвинутый
- AI / ML
- Часы работы
- Все
- позволять
- разрешено
- позволяет
- причислены
- Amazon
- Amazon Web Services
- an
- аналитика
- и
- любой
- Применение
- Применить
- Применение
- архитектура
- МЫ
- Аргументы
- AS
- At
- автор
- Автоматизированный
- доступен
- AWS
- AWS CloudFormation
- Клей AWS
- основанный
- BE
- было
- до
- ЛУЧШЕЕ
- большой
- Big Data
- Блог
- изоферменты печени
- Границы
- строить
- построенный
- бизнес
- но
- by
- Калифорния
- вызова
- CAN
- заботится
- случаев
- случаев
- ячейка
- изменение
- менялась
- проверка
- Проверки
- тесно
- облако
- Кластер
- код
- сотрудничество
- полный
- компоненты
- Вычисление
- Условия
- Конфигурация
- связи
- Консоли
- ограничения
- контекст
- контроль
- контрольная
- Расходы
- Создайте
- создали
- создает
- ПОЛНОМОЧИЯ
- Полномочия
- В настоящее время
- изготовленный на заказ
- Клиенты
- данным
- инженер данных
- Подготовка данных
- глубоко
- По умолчанию
- определенный
- доставить
- поставляется
- поставка
- в зависимости
- развертывание
- развернуть
- развертывание
- развертывание
- развертывает
- описано
- Проект
- развивать
- развивающийся
- Развитие
- DevOps
- легко
- усилие
- или
- включен
- позволяет
- зашифрованный
- окончания поездки
- обеспечивать соблюдение
- обеспечение соблюдения
- инженер
- Проект и
- Инженеры
- обеспечивать
- Предприятие
- корпоративные клиенты
- Окружающая среда
- средах
- ошибка
- особенно
- Эфир (ETH)
- События
- События
- пример
- исключение
- обмен
- Впечатления
- эксперимент
- продлить
- содействовал
- FAIL
- не удается
- Ошибка
- ложный
- Особенность
- Файл
- Файлы
- фильтры
- находит
- Во-первых,
- Трансформируемость
- Фокус
- следовать
- после
- следующим образом
- Что касается
- найденный
- Бесплатно
- от
- функция
- далее
- Более того
- GAL
- получить
- Глобальный
- гарантия
- Есть
- he
- его
- Как
- How To
- HTML
- HTTP
- HTTPS
- IAM
- ID
- определения
- Личность
- Idle
- if
- немедленно
- Импортировать
- in
- В том числе
- информация
- Инфраструктура
- начатый
- инновационный
- внутри
- инструкции
- интерактивный
- в
- Запускает
- изолированный
- IT
- ЕГО
- работа
- Джобс
- JPG
- Jupyter Notebook
- Основные
- больше
- слоев
- УЧИТЬСЯ
- изучение
- библиотеки
- Библиотека
- Жизненный цикл
- нравится
- Ограниченный
- рамки
- Включенный в список
- локальным
- в местном масштабе
- расположенный
- Войти
- машина
- обучение с помощью машины
- сделать
- управление
- менеджер
- управляет
- многих
- максимальный
- Май..
- означает
- механизм
- Встречайте
- сообщение
- Сообщения
- встретивший
- может быть
- минут
- контролируемый
- Мониторинг
- БОЛЕЕ
- имя
- необходимо
- Необходимость
- необходимый
- потребности
- Новые
- вновь
- нет
- ноутбук
- уведомление
- номер
- произошло
- of
- on
- только
- операция
- Опция
- Опции
- or
- заказ
- Другое
- внешний
- выходной
- внешнюю
- пакет
- страстный
- для
- пицца
- Платформы
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- удовольствие
- сборах
- После
- подготовка
- предпосылки
- представить
- предыдущий
- проблемам
- процесс
- производит
- Продукт
- Менеджер по продукции
- Продукция
- свойства
- предложило
- обеспечивать
- при условии
- приводит
- обеспечение
- Питон
- РЕДКИЙ
- готовый
- причина
- Управление по борьбе с наркотиками (DEA)
- запись
- область
- Связанный
- соответствующие
- удален
- новый
- хранилище
- Полезные ресурсы
- роли
- Правило
- Run
- Бег
- работает
- Сэм
- Раздел
- обеспеченный
- посмотреть
- посылает
- старший
- послать
- Serverless
- Услуги
- Сессия
- сессиях
- набор
- установка
- она
- должен
- аналогичный
- просто
- Решение
- Решения
- РЕШАТЬ
- некоторые
- Скоро
- Искриться
- конкретный
- скорость
- стек
- Начало
- и политические лидеры
- заявление
- Статус:
- Шаги
- Stop
- остановившийся
- сильный
- Убедитесь
- плавание
- Швейцария
- взять
- с
- задачи
- Технологии
- шаблон
- тестXNUMX
- который
- Ассоциация
- их
- Там.
- следовательно
- Эти
- вещи
- этой
- те
- три
- Через
- время
- в
- слишком
- тема
- трафик
- прообразы
- вызвать
- срабатывает
- правда
- два
- напишите
- под
- лежащий в основе
- понимание
- us
- Применение
- использование
- случаи использования
- Информация о пользователе
- пользователей
- через
- ux
- VALIDATE
- Наши ценности
- с помощью
- Виртуальный
- ждать
- Ожидание
- прохождение
- хотеть
- законопроект
- we
- Web
- веб-сервисы
- когда
- когда бы ни
- который
- в то время как
- будете
- в
- Работа
- работник
- рабочие
- рабочий
- работает
- еще
- являетесь
- ВАШЕ
- зефирнет