Эта история изначально была опубликована здесь.
ETL — это процесс извлечения, преобразования и загрузки данных из одного или нескольких источников в пункт назначения. Это также подход к посредничеству данных. ETL означает извлечение, преобразование и загрузка.
Это распространенный подход к перемещению данных из одного места в другое с одновременным преобразованием структуры данных перед их загрузкой из источника в место назначения.
Конвейер ETL (извлечение, преобразование, загрузка)
ETL — это процесс с тремя отдельными этапами, который часто называют конвейером, поскольку данные проходят через эти три этапа.
Шаги в конвейере ETL:
- Извлекайте источник данных из любого места (БД, API и т. д.).
- Преобразовать или каким-либо образом обработать данные. Это может быть реструктуризация, переименование, удаление неверных или ненужных данных, добавление новых значений или любой другой тип обработки данных.
- Загрузить данные в конечный пункт назначения (БД, плоский файл и т. д.).
ETL решает проблему наличия данных в разных местах и в разных форматах, позволяя вам извлекать данные из разных источников в централизованное место со стандартным форматом. Конвейеры ETL обычно запускаются как пакетные задания. Это означает, что все данные перемещаются одновременно.
Примеры использования ETL
Обычный пример использования конвейера ETL — Аналитика данных со следующими шагами:
- Совокупные данные для использования в аналитике
- Извлечь необработанные данные из базы данных
- Очистите, проверьте и агрегируйте данные на этапе преобразования.
- Загрузите преобразованные данные в место назначения
Другим вариантом использования может быть периодическое перемещение сохраненных данных в новую базу данных в формате, отличном от того, в котором они хранятся в настоящее время. Давайте представим, что вы — компания с магазинами по всему миру, которые совершают транзакции в местных валютах, и каждый магазин отчитывается о своей выручке в головной офис в конце месяца. Здесь вы можете использовать конвейер ETL, чтобы лучше анализировать данные из каждого хранилища. Первым шагом будет извлечение данных из отчетов, затем преобразование сумм в различных валютах в единую базовую валюту и, наконец, загрузка измененных данных отчета в базу данных отчетов.
Конвейер ETL — это практичный выбор для переноса больших объемов данных, например преобразования сотен гигабайт данных, хранящихся в неструктурированных файлах, в новый формат или вычисления новых данных на основе этих сотен гигабайт. В целом, ETL отлично подходит для:
- Анализ больших данных
- Очистите и стандартизируйте наборы данных
- Перенос данных (много)
- Передача данных (подключите источники данных, чтобы данные могли передаваться)
Ограничения ETL
Процесс ETL может быть требовательным к вычислительным ресурсам, иногда требуется доступ к данным, которые могут быть недоступны в режиме реального времени, и часто это огромный объем данных. Поэтому процессы ETL обычно выполняются с пакетом данных. Это означает, что процесс ETL не работает круглосуточно и без выходных, а фактическое состояние исходных данных отстает, иногда на минуты, а может и на дни. Весь конвейер ETL требует времени для извлечения, преобразования и загрузки всех необходимых данных. Конвейер ETL обычно запускается по расписанию.
TL;DR
- Конвейер ETL извлекает данные, преобразует их, а затем загружает в место назначения (базу данных и т. д.)
- Следует знать оба конца конвейера ETL: как получить доступ к источнику данных и где они закончатся.
- ETL — это мощный способ автоматизации пакетного перемещения данных между различными частями архитектуры.
Спасибо за внимание. Если у вас есть вопросы, используйте функцию комментариев или отправьте мне сообщение @mariokandut .
Если вы хотите узнать больше о Node, ознакомьтесь с этими Учебными пособиями по Node.