Инфраструктура и настройка машинного обучения

Вы застряли с доисторическими ручными ETL?

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

Системы извлечения-преобразования-загрузки (ETL) играют решающую роль в хранении данных и аналитике, поскольку они отвечают за извлечение данных из различных источников, преобразование их в формат, который можно загрузить во вторичную базу данных, и загрузку в эту базу данных. . Однако запуск сложной системы ETL может оказаться непростой задачей, особенно если она ограничена рамками организации. В этом сообщении блога мы рассмотрим, почему уже существующие инструменты ETL не всегда могут быть лучшим решением, и как система параллельного секвенирования на основе очередей может устранить эти ограничения.

Почему уже существующие инструменты ETL не везде помогают?

Технологии ETL, такие как Airflow и Databricks, обычно используются для решения проблемы извлечения, преобразования и загрузки данных. Эти инструменты предоставляют широкий спектр функций и функций, упрощающих управление процессами ETL и их автоматизацию. Однако, несмотря на их преимущества, эти инструменты могут быть дорогими в настройке и обслуживании, особенно для малых и средних организаций. Стоимость приобретения лицензий, а также стоимость обучения и содержания команды, способной эффективно использовать эти инструменты, могут стать значительным бременем.

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

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

Хотя технологии ETL, такие как Airflow и Databricks, являются мощными инструментами, их установка и обслуживание могут быть дорогими, а их интеграция в уже существующие системы может быть затруднена. Кроме того, сложность готовых систем, созданных путем слияния различных скриптов и SQL, может затруднить управление группой операций с данными.

Решение: параллельное секвенирование на основе очередей

Банк служит хорошей мысленной моделью для понимания того, как решить проблему систем ETL. Точно так же, как в банке есть несколько счетчиков, которые обслуживают разные очереди, мы можем выполнять группы сценариев, используя несколько подпроцессов, которые имеют общие очереди.

Предположим, для иллюстрации, что приведенная ниже система ETL должна быть автоматизирована.

Чтобы реализовать это решение, первым шагом будет разделение системы ETL на несколько пакетов, каждый из которых будет содержать распараллеливаемые сценарии. Систему можно разделить на столько пакетов, сколько необходимо, в зависимости от сложности процесса ETL.

Во время выполнения пакет i+1 будет выполняться только после завершения пакета i. Итак, когда мы запускаем пакет, мы добавляем все применимые сценарии в очередь, а затем каждый подпроцесс может выполнять задание в зависимости от его типа. Родительский процесс будет выступать в качестве оркестратора, а дочерние процессы будут выполнять различные задания в пакете.

Решение для параллельного секвенирования на основе очередей можно реализовать с помощью библиотеки многопроцессорной обработки в Python. Эта библиотека предоставляет простой способ создания дочерних процессов, которые могут выполняться одновременно и совместно использовать данные с помощью очередей. Поддержка SQL может быть обеспечена с помощью SQLalchemy, популярной библиотеки Python для работы с базами данных. Excel с VBA можно использовать как средство настройки, позволяющее легко управлять системой.

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

Заключение

В заключение можно сказать, что системы ETL могут быть сложными и трудоемкими, но с помощью системы параллельного секвенирования на основе очередей можно автоматизировать процесс и сделать его более эффективным. Такой подход позволяет распараллелить сценарии, что может ускорить процесс и упростить управление системой. Кроме того, с помощью Python и SQLalchemy можно создать гибкую систему, которую можно легко интегрировать в уже существующие системы. Используя систему параллельного секвенирования на основе очередей, организации могут преодолеть ограничения традиционных систем ETL и оптимизировать свои процессы хранения данных и аналитики.

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

Если вы дочитали до сих пор, большое спасибо за чтение! Надеюсь, эта статья окажется для вас полезной.Если хотите, добавьте меня в LinkedIn!

Удачи на этой неделе,
Пратюш