(Введение и важность управления потоками данных)

Написано в сотрудничестве с Хирен Рупчандани

Предисловие

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

Сбор данных из разных источников, их хранение в базе данных, применение бесчисленных процессов к различным типам и использование совместимых инструментов для получения информации из них становится утомительная задача в повседневной жизни.

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

Конвейер данных

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

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

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

Пакетная обработка

При пакетной обработке ряд задач заранее планируется и определяется для выполнения с определенными триггерами или интервалами. Он направлен на сведение к минимуму человеческого взаимодействия, и его предпочитают многие специалисты в области ИТ, науки о данных и аналитики. Эти конвейеры обычно относятся к процессам ETL.

Мы реализуем пакетную обработку, когда нам необходимо выполнить одно из следующих действий:

  • Отчеты на конец квартала
  • Сводка счетов за месячный период
  • Процессы расчета заработной платы

Потоковая обработка

Потоковая обработка позволяет перемещать данные в реальном времени. Он непрерывно собирает данные из различных источников и анализирует их. Бизнес-аналитика в режиме реального времени, прогнозный анализ и принятие решений становятся возможными с помощью инструментов потоковой обработки, таких как Apache Spark.

Например, Robinhood использует данные в режиме реального времени, полученные от NASDAQ, для оценки цен акций на момент закрытия с высокой точностью.

Так чем же конвейер данных лучше?

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

Некоторые преимущества хорошо сделанного конвейера данных по сравнению с традиционными подходами к управлению данными, такие как:

  • Гибкость в удовлетворении необходимых требований
  • Упрощенный доступ к информации и аналитическим данным
  • Более быстрое принятие решений

Компоненты конвейера данных

Источник

Происхождение или источник — это точка ввода данных в конвейер данных. Источники данных могут включать приложения для обработки транзакций, устройства IoT, подписи в социальных сетях, твиты, пользовательские данные, веб-API, любые общедоступные наборы данных из Kaggle или GitHub или системы хранения (хранилище данных или озеро данных) организации.

Место назначения

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

Поток данных

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

Рабочий процесс

Рабочий процесс определяет последовательность выполнения заданий и зависимость между ними в конвейере данных. Зависимости и их последовательность определяют, как определенные задания выполняются в конвейере данных. Вот некоторые ключевые слова и их описание, связанные с рабочим процессом:

  • Задание. Задание — это серия процессов (или исполняемых файлов), выполняемых с данными. Например, получение необработанных данных, очистка необработанных данных, а затем разработка модели машинного обучения.
  • Вверх/вниз по течению. Когда задачи передаются по цепочке вниз, поток выполнения называется выравниванием по нисходящему потоку. С другой стороны, когда задачи передаются вверх по линии или в восходящем направлении, поток выполнения называется восходящим выравниванием.

Мониторинг

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

Инструменты для создания конвейера данных

  • Инструменты ETL, включая средства подготовки и интеграции данных, такие как Google Cloud Fusion, Azure Data Factory, Hevo или AWS Glue.
  • Хранилища данных — для хранения структурированных данных, таких как Amazon Redshift или Google BigQuery. Локально настроенные базы данных также могут использоваться для хранения.
  • Озера данных — хранилища необработанных, как структурированных, так и неструктурированных данных, предоставляемые GCP, AWS, Microsoft Azure и IBM.
  • Планировщики пакетных рабочих процессов и инструменты оркестровки, такие как Airflow, Jenkins и Luigi, позволяют пользователям программно определять рабочие процессы с помощью задач и зависимостей между ними.

Случаи использования

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

Нетфликс

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

Долларовый клуб бритья

  • Хорошо зарекомендовавшая себя компания электронной коммерции товаров для ухода за собой.
  • Бизнес-модель Dollar Shave Club основана на подписке и имеет миллионы клиентов.
  • У них довольно хорошая архитектура данных, размещенная на AWS, и они в основном используются для рекомендаций по продуктам для увеличения продаж в будущем.
  • Вы можете прочитать об их использовании в этом блоге.

Робин Гуд

  • Robinhood — компания, предоставляющая финансовые услуги, которая позволяет клиентам торговать акциями, опционами, биржевыми фондами (ETF) и криптовалютами с нулевой комиссией.
  • Калифорнийская компания насчитывает 31 миллион пользователей и использует архитектуру конвейера данных, размещенную на AWS, работающую на ELK (Elasticsearch, Logstash и Kibana) и управляемую на Airflow.
  • Вы можете прочитать об архитектуре управления данными Robinhood в их блогах ELK и Airflow.

Курсера

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

Заключительные мысли и заключительные комментарии

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

& Вот и все. Надеюсь, вам понравилось объяснение данных и конвейеров данных, и вы узнали что-то ценное. Если у вас есть чем поделиться со мной, дайте мне знать в разделе комментариев. Я хотел бы знать ваши мысли.

Подпишитесь на меня, чтобы не пропустить новые статьи, посвященные Python, R, науке о данных, машинному обучению и искусственному интеллекту.

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

Что дальше?