Готуйте масштабні дані в Amazon SageMaker Studio за допомогою безсерверних інтерактивних сеансів AWS Glue PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Готуйте масштабні дані в Amazon SageMaker Studio за допомогою інтерактивних сеансів AWS Glue без сервера

Студія Amazon SageMaker це перше повністю інтегроване середовище розробки (IDE) для машинного навчання (ML). Він надає єдиний візуальний веб-інтерфейс, де ви можете виконувати всі етапи розробки ML, включаючи підготовку даних і створення, навчання та розгортання моделей.

Клей AWS це безсерверна служба інтеграції даних, яка спрощує пошук, підготовку та поєднання даних для аналітики, машинного навчання та розробки програм. AWS Glue дає змогу легко збирати, перетворювати, очищати та готувати дані для зберігання у ваших озерах даних і конвеєрах даних, використовуючи різноманітні можливості, зокрема вбудовані трансформації.

Інженери з обробки даних і вчені з обробки даних тепер можуть інтерактивно готувати масштабні дані за допомогою вбудованої інтеграції свого ноутбука Studio з безсерверними сеансами Spark, керованими AWS Glue. Запуск за лічені секунди й автоматичне припинення обчислень під час простою, Інтерактивні сеанси AWS Glue надати на вимогу високомасштабований безсерверний сервер Spark для досягнення масштабованої підготовки даних у Studio. Серед помітних переваг використання інтерактивних сеансів AWS Glue на ноутбуках Studio:

  • Немає кластерів для надання або керування
  • Немає неактивних кластерів, за які потрібно платити
  • Попередня конфігурація не потрібна
  • Немає суперечок щодо ресурсів для того самого середовища розробки
  • Точно таке ж безсерверне середовище виконання Spark і платформа, що й завдання вилучення, трансформації та завантаження (ETL) AWS Glue

У цій публікації ми покажемо вам, як підготувати масштабні дані в Studio за допомогою безсерверних інтерактивних сеансів AWS Glue.

Огляд рішення

Щоб реалізувати це рішення, ви виконуєте такі кроки високого рівня:

  1. Оновіть Управління ідентифікацією та доступом AWS (IAM) дозволи ролі.
  2. Запустіть ядро ​​інтерактивного сеансу AWS Glue.
  3. Налаштуйте свій інтерактивний сеанс.
  4. Налаштуйте свій інтерактивний сеанс і запустіть масштабоване навантаження підготовки даних.

Оновіть свої дозволи ролі IAM

Для початку вам потрібно оновити роль виконання IAM користувача Studio з необхідними дозволами. Докладні інструкції див Дозволи для інтерактивних сеансів Glue у SageMaker Studio.

Спочатку ви додаєте керовані політики до своєї ролі виконання:

  1. На консолі IAM виберіть Ролі у навігаційній панелі.
  2. Знайдіть роль виконання Studio, яку ви використовуватимете, і виберіть ім’я ролі, щоб перейти на сторінку зведення ролі.
  3. на Дозволи вкладка, на Додати дозволи меню, виберіть Додайте політику.
  4. Виберіть керовані політики AmazonSageMakerFullAccess та AwsGlueSessionUserRestrictedServiceRole
  5. Вибирати Додайте політику.
    На сторінці підсумку показано нещодавно додані керовані політики. Тепер ви додаєте спеціальну політику та приєднуєте її до своєї ролі виконання.
  6. на Додати дозволи меню, виберіть Створіть вбудовану політику.
  7. на JSON на вкладці введіть таку політику:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": [
                    "iam:GetRole",
                    "iam:PassRole",
                    "sts:GetCallerIdentity"
                ],
                "Resource": "*"
            }
        ]
    }

  8. Змініть довірчі відносини вашої ролі:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": {
                    "Service": [
                        "glue.amazonaws.com",
                        "sagemaker.amazonaws.com"
                    ]
                },
                "Action": "sts:AssumeRole"
            }
        ]
    }

Запустіть ядро ​​інтерактивного сеансу AWS Glue

Якщо у вашому домені Studio вже є користувачі, можливо, вам знадобиться їх мати вимкнути та перезапустити свій Jupyter Server щоб підібрати нові образи ядра ноутбука.

Після перезавантаження ви можете створити новий блокнот Studio і виберіть бажане ядро. Вбудований SparkAnalytics 1.0 зображення тепер має бути доступним, і ви можете вибрати бажане ядро ​​AWS Glue (Клей Scala Spark or Клей PySpark).

Налаштуйте свій інтерактивний сеанс

Ви можете легко налаштувати свій інтерактивний сеанс AWS Glue за допомогою магії клітинки блокнота до ініціалізації. Магії — це невеликі команди з префіксом % на початку комірок Jupyter, які надають ярлики для керування середовищем. В інтерактивних сеансах AWS Glue магія використовується для всіх потреб конфігурації, зокрема:

  • %регіон – Регіон AWS, у якому потрібно ініціалізувати сеанс. За замовчуванням є регіон Studio.
  • %iam_role – Роль IAM ARN для запуску вашого сеансу. За замовчуванням є роль виконання SageMaker користувача.
  • %worker_type - The AWS Клей робочий тип. За замовчуванням встановлено стандарт.
  • %кількість_працівників – Кількість працівників, які виділяються під час виконання завдання. За замовчуванням — п’ять.
  • %idle_timeout – Кількість хвилин бездіяльності, після якої закінчується тайм-аут сеансу. За замовчуванням 2,880 хвилин.
  • %additional_python_modules – Розділений комами список додаткових модулів Python для включення у ваш кластер. Це може бути з PyPi або Служба простого зберігання Amazon (Amazon S3).
  • %% налаштувати – Словник у форматі JSON, що складається з Параметри конфігурації AWS Glue на сеанс.

Щоб отримати вичерпний список настроюваних магічних параметрів для цього ядра, використовуйте %help магія у вашому блокноті.

Ваш інтерактивний сеанс AWS Glue не розпочнеться, доки не буде запущено першу немагічну клітинку.

Налаштуйте свій інтерактивний сеанс і запустіть робоче навантаження з підготовки даних

Як приклад, наведені нижче комірки блокнота показують, як можна налаштувати інтерактивний сеанс AWS Glue і запустити масштабоване робоче навантаження підготовки даних. У цьому прикладі ми виконуємо завдання ETL для агрегування даних про якість повітря для певного міста, групуючи їх за годинами доби.

Ми налаштовуємо наш сеанс для збереження наших журналів Spark у сегменті S3 для налагодження в реальному часі, яке ми побачимо далі в цій публікації. Переконайтеся, що iam_role який виконує ваш сеанс AWS Glue, має доступ для запису до вказаного сегмента S3.

%help

%session_id_prefix air-analysis-
%glue_version 3.0
%idle_timeout 60
%%configure
{
"--enable-spark-ui": "true",
"--spark-event-logs-path": "s3://<BUCKET>/gis-spark-logs/"
}

Далі ми завантажуємо наш набір даних безпосередньо з Amazon S3. Крім того, ви могли б завантажувати дані за допомогою каталогу даних AWS Glue.

from pyspark.sql.functions import split, lower, hour
print(spark.version)
day_to_analyze = "2022-01-05"
df = spark.read.json(f"s3://openaq-fetches/realtime-gzipped/{day_to_analyze}/1641409725.ndjson.gz")
df_air = spark.read.schema(df.schema).json(f"s3://openaq-fetches/realtime-gzipped/{day_to_analyze}/*")

Нарешті, ми записуємо наш перетворений набір даних у вихідний сегмент, який ми визначили:

df_city = df_air.filter(lower((df_air.city)).contains('delhi')).filter(df_air.parameter == "no2").cache()
df_avg = df_city.withColumn("Hour", hour(df_city.date.utc)).groupBy("Hour").avg("value").withColumnRenamed("avg(value)", "no2_avg")
df_avg.sort("Hour").show()

# Examples of reading / writing to other data stores: 
# https://github.com/aws-samples/aws-glue-samples/tree/master/examples/notebooks

df_avg.write.parquet(f"s3://<BUCKET>/{day_to_analyze}.parquet")

Після завершення роботи ви можете негайно завершити інтерактивний сеанс AWS Glue, просто вимкнувши ядро ​​ноутбука Studio, або ви можете скористатися %stop_session магію.

Налагодження та інтерфейс Spark

У попередньому прикладі ми вказали ”--enable-spark-ui”: “true” аргумент разом з a "--spark-event-logs-path": location. Це налаштовує наш сеанс AWS Glue для запису журналів сеансів, щоб ми могли використовувати інтерфейс Spark для моніторингу та налагодження нашого завдання AWS Glue у реальному часі.

Процес запуску та читання цих журналів Spark див Запуск сервера історії Spark. На наступному знімку екрана ми запустили локальний контейнер Docker, який має дозвіл на читання сегмента S3, який містить наші журнали. За бажанням ви можете розмістити Обчислювальна хмара Amazon Elastic (Amazon EC2), щоб це зробити, як описано в попередній пов’язаній документації.

Готуйте масштабні дані в Amazon SageMaker Studio за допомогою безсерверних інтерактивних сеансів AWS Glue PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Ціни

Коли ви використовуєте інтерактивні сеанси AWS Glue на ноутбуках Studio, з вас стягується окрема плата за використання ресурсів на блокнотах AWS Glue і Studio.

AWS стягує плату за інтерактивні сеанси AWS Glue залежно від тривалості активного сеансу та кількості використаних блоків обробки даних (DPU). З вас стягується погодинна плата за кількість DPU, які використовуються для виконання ваших робочих навантажень, з кроком у 1 секунду. Інтерактивні сеанси AWS Glue призначають за замовчуванням 5 DPU і вимагають щонайменше 2 DPU. Для кожного інтерактивного сеансу також передбачено мінімальну тривалість розрахунку в 1 хвилину. Щоб переглянути ціни та приклади цін на клей AWS або оцінити свої витрати за допомогою калькулятора цін AWS, див. Ціни на клей AWS.

Ваш ноутбук Studio працює на екземплярі EC2, і ви платите за тип екземпляра, який ви виберете, залежно від тривалості використання. Studio призначає вам стандартний тип екземпляра EC2 ml-t3-medium, коли ви вибираєте SparkAnalytics зображення та пов’язане ядро. Ви можете змінити тип екземпляра блокнота Studio відповідно до свого робочого навантаження. Інформацію про ціни SageMaker Studio див Ціни на Amazon SageMaker.

Висновок

Вбудована інтеграція ноутбуків Studio з інтерактивними сеансами AWS Glue полегшує безперебійну та масштабовану безсерверну підготовку даних для науковців та інженерів даних. Радимо вам спробувати цю нову функцію в Studio!

Читати Підготуйте дані за допомогою AWS Glue Interactive Sessions для отримання додаткової інформації.


Про авторів

Шон МорганШон Морган є старшим архітектором рішень ML в AWS. Він має досвід у галузі напівпровідників і наукових досліджень і використовує свій досвід, щоб допомогти клієнтам досягти своїх цілей на AWS. У вільний час Шон активний учасник/супроводжувач відкритого коду та є керівником групи за інтересами для TensorFlow Addons.

Готуйте масштабні дані в Amazon SageMaker Studio за допомогою безсерверних інтерактивних сеансів AWS Glue PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Сумедха Свамі є головним менеджером із продуктів Amazon Web Services. Він очолює команду SageMaker Studio, яка вбудовує його в обрану IDE для інтерактивних робочих процесів науки про дані та інженерії даних. Останні 15 років він створював споживчі та корпоративні продукти, орієнтовані на клієнтів, за допомогою машинного навчання. У вільний час він любить фотографувати дивовижну геологію південного заходу Америки.

Часова мітка:

Більше від AWS Машинне навчання