Как выполнять ETL с помощью AWS Glue и Amazon Glue Studio для преобразования данных — часть 2


Введение

В предыдущем блоге вы освоили ETL на примере данных о продажах как для Amazon Glue Studio, так и для AWS Glue.

В третьем руководстве было рассмотрено, как можно запрашивать данные из ведра Amazon S3 с помощью Amazon Athena и создавать визуализации данных из таблицы Amazon Athena в Amazon QuickSight, которая ссылается на базу данных продаж, хранящуюся в AWS Data Catalog.

В этом новом учебном пособии вы узнаете, как:

a) Находить наборы данных с открытым исходным кодом для своего увлеченного проекта, создавать тестовую или производственную рабочую нагрузку, которую можно использовать с помощью служб AWS.

b) Выполнить преобразование данных с помощью собственных данных, используя Amazon Glue и Amazon Glue Studio.

Где вы можете найти интересные наборы данных с открытым исходным кодом для проектов по аналитике и машинному обучению?

  • Kaggle.com

  • Правительственные сайты, например, data.gov, data.gov.uk, data.gov.au.

  • Поиск данных в Google

  • Данные переписи населения, например, перепись населения Австралии

  • Репозиторий UCI Machine Learning Repository

Обзор архитектуры решения — AWS Glue

Учебное пособие 1: Преобразование данных с помощью AWS Glue

Шаг 1: В этом руководстве загрузите данные инспекции ресторанов DOHMH Нью-Йорка в формате csv по этой ссылке.

Предварительный просмотр необработанного набора данных:

Шаг 2: Войдите в свою учетную запись AWS. Если у вас нет учетной записи AWS, вы можете создать ее здесь

Шаг 3: Следуя инструкциям здесь, вы можете создать свой первый S3-ведро и дать ему имя new-york-restaurant-inspections.

Шаг 4: Нажмите на ведро и выберите Создать папку.

Создайте две папки в ведре Amazon S3 и назовите их raw и processed соответственно, как показано ниже:

Шаг 5: Загрузите и нажмите кнопку добавить файл в папку raw.

Шаг 6: Настройте основные разрешения IAM для использования консоли AWS Glue. Более подробную информацию вы можете найти в блоге.

Если вам нужен доступ к другим ресурсам Amazon, таким как Amazon Sagemaker Notebooks, вы можете следовать инструкциям здесь.

Шаг 7: Перейдите в консоль Amazon Glue и в левом меню выберите crawler, а затем Add crawler.

Шаг 8: Укажите имя для краулера. В данном примере мы назовем краулер new york-restaurant-inspection-crawler и нажмите кнопку Далее.


Шаг 9: Для типа источника краулера выберите Хранилища данных, а затем выберите Все папки краулера.

Шаг 10: В этом разделе добавьте путь к ведру S3 и выберите файл csv из папки raw и нажмите Далее.

Шаг 11: Нажмите Да, чтобы добавить еще одно хранилище данных, и Далее.

Шаг 12: Повторите шаг 10, но выберите папку Processed* для пути к ведру S3. Нажмите Далее.

Шаг 13: Больше нет хранилищ данных для создания, нажмите Нет. Нажмите Далее.

Шаг 14: Вы можете выбрать существующую IAM роль для AWS Glue, которая была создана ранее, например ‘AWSGlueServiceRole-learn-glue-role’. Нажмите Далее.

Шаг 15: Создайте расписание для краулера, выберите из выпадающего меню Запуск по требованию.

Шаг 16: Настройте выходные данные краулера. Нажмите Добавить базу данных и укажите имя базы данных ‘restaurant-inspections’. Добавьте префикс для имени таблицы под названием Raw. Нажмите кнопку Далее.


Шаг 17: Проверьте детали ввода и нажмите Готово.

Детали краулера показаны ниже:

Шаг 18: Щелкните краулер ‘new-york-restaurant-inspection-crawler’ и выберите Run crawler, чтобы выполнить задание.

Шаг 19: После завершения задания краулера со статусом «готов» вы можете просмотреть метаданные, нажав на Таблицы в левой части.

Вы можете просмотреть следующую схему из каталога данных:

Обзор архитектуры решения — Amazon Glue Studio

Урок 2: Преобразование данных с помощью Amazon Glue Studio

Шаг 1: Зайдите в ‘AWS Glue Studio’ из консоли AWS Glue.

Шаг 2: В консоли AWS Glue Studio нажмите View jobs.

Шаг 3: Выберите опцию Visual with a source and target и нажмите Create.

Шаг 4: В разделе Свойства узла выберите S3 bucket, а затем Amazon S3.

Шаг 5: В узле S3 bucket выберите в опции Data catalog имя базы данных, а затем имя таблицы, как показано на изображении ниже.

Выберите узел Apply Mapping.

Шаг 6: Под узлом Apply Mapping нажмите на вкладку Transform.

Есть ли переменные, которые были неправильно классифицированы в каталоге данных?

Есть ли переменные, для которых необходимо изменить тип данных?

Есть ли столбцы, которые необходимо исключить из набора данных и которые не будут использоваться в анализе данных или для машинного обучения?

Вы можете выполнить некоторые преобразования, например, изменить переменные даты с типа данных «строка» на «дата».

Список распространенных типов данных в AWS Glue можно посмотреть в документации.

Шаг 7: Перейдите на вкладку Output Schema, проверьте преобразования данных.

Шаг 8: Нажмите на S3 bucket- data target node, затем выберите Parquet format, Compression Type as Snappy и, наконец, выберите путь к S3 bucket для папки с обработанными данными для вывода преобразованных данных.

Выберите Создавать каталог данных при последующих запусках и дайте имя обработанной таблице.

Шаг 9: Перейдите на вкладку Script, чтобы просмотреть сгенерированный на языке Python код для этого задания ETL.

Шаг 10: Перейдите на вкладку ‘Детали задания’, укажите название задания, например, задание по проверке ресторанов, и описание преобразования данных. Измените количество работников на 2.

Шаг 11: Нажмите кнопку Сохранить и запустить, чтобы начать выполнение задания ETL.

Шаг 12: Выполнение задания ETL займет несколько минут и перейдет в статус «Успешно».

Шаг 13: Вернитесь в консоль AWS Glue, выберите Crawlers в меню слева и повторно запустите «restaurant-inspection-crawler», нажав Run crawler.

После изменения статуса на ‘ready’ нажмите на Table, чтобы проверить обработанную таблицу в каталоге данных на наличие преобразованных типов данных.

Ресурсы

Настройка разрешений IAM для AWS Glue

Начало работы с AWS Glue

Типы данных для AWS Glue

Работа с геопространственными данными в QuickSight

Лучшие практики работы с геопространственными данными в Amazon Athena и Glue

Общие типы данных

AWS Innovate Online Conference APJ — 23 & 25 августа 2022 г.

Зарегистрируйтесь по этой ссылке

🚀 Горячая новость: Представление AWS Glue Flex jobs: Экономия средств на рабочих нагрузках ETL

AWS Glue Flex jobs идеально подходит для таких случаев использования, как:

  • Планирование ETL-заданий на ночь
  • Планирование тестовых рабочих нагрузок
  • Одноразовая массовая загрузка
  • чувствительные ко времени рабочие нагрузки

Вы можете прочитать о новой функции и ценах на гибкие задания в блоге AWS Big Data Blog здесь.

До следующего урока, счастливого обучения! 😁

Оцените статью
devanswers.ru
Добавить комментарий