1 of 14

Подходы к сбору Big Data

Лекция 7

2 of 14

Зачем собирать большие данные

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

3 of 14

Источники Big Data

  • API и веб-сервисы - данные через REST, GraphQL, SOAP и прочие интерфейсы.
  • Парсинг / веб-скрейпинг - извлечение данных из HTML-страниц, таблиц, сайтов.
  • Лог-файлы систем - веб-серверы, приложения, журналы ошибок.
  • Сенсорные устройства / IoT - датчики температуры, GPS, акселерометры и др.
  • Социальные сети / платформы контента - поток комментариев, лайков, просмотров.
  • Внешние открытые датасеты / репозитории - CSV, JSON, наборы данных для исследований, Open Data платформы.

4 of 14

Пакетный и потоковый подходы к сбору

Пакетный (Batch) сбор

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

Преимущества:

  • Простота реализации.
  • Возможность делать сложные преобразования, агрегации.
  • Аппаратные ресурсы могут быть спланированы.

​

Недостатки:

  • Задержка между событием и его доступностью.
  • Не подходит, если нужно реагировать близко к реальному времени.

Потоковый (Streaming) сбор

Данные обрабатываются почти сразу после появления - каждое отдельное событие передается, обрабатывается и сохраняется

Преимущества:

  • Минимальная задержка - результат доступен почти мгновенно.
  • Можно реагировать на события сразу (система уведомлений, мониторинг).

​

Недостатки:

  • Более сложная архитектура и обеспечение устойчивости (обработка ошибок, порядок событий, повторные записи).
  • Требуется гарантировать надёжность, масштабируемость, устойчивость к сбоям.

5 of 14

Архитектуры для сбора и обработки данных: ETL, ELT

ETL (Extract – Transform – Load)

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

Подходит, когда нужно обеспечить чистоту данных до попадания в основное хранилище.

ELT (Extract – Load – Transform)

Данные сначала загружаются сырьем (raw) в хранилище, и преобразования выполняются уже в нем (на уровне хранилища).

Это удобно, если хранилище поддерживает мощные трансформации (например, аналитическая СУБД, облачные хранилища).

6 of 14

Архитектуры для сбора и обработки данных: Lambda, Kappa

Lambda-архитектура

  • Сочетает batch-слой и потоковый слой.
  • Batch слой обрабатывает исторические данные, потоковый - обрабатывает новые события.
  • Объединение результатов через объединительный слой.
  • Позволяет строить как быстрые ответы, так и корректные исторические расчеты.

​

Kappa-архитектура

  • Упрощенная версия: вся обработка - потоковая.
  • Исторические данные могут быть проиграны как потоки (replay).
  • Убирается дубликация логики между batch и stream слоями.

​

7 of 14

Инструменты для извлечения и передачи данных

Инструмент

Основное назначение

Особенности и преимущества

Тип задач

Apache Kafka

Передача потоковых данных между системами

Высокая пропускная способность, устойчивость, масштабируемость; используется для событийных архитектур

Стриминг, интеграция микросервисов, логирование

Kafka Connect

Подключение источников и приемников данных без кода

Поддерживает коннекторы к БД, REST API, файлам; легко встраивается в Kafka

Интеграция источников, ETL/ELT pipelines

Apache NiFi

Визуальное проектирование потоков данных

Более 300 готовых процессоров, гибкая маршрутизация, контроль потока, приоритеты, безопасность

Dataflow orchestration, интеграция систем, очистка данных

8 of 14

Инструменты для извлечения и передачи данных

Инструмент

Основное назначение

Особенности и преимущества

Тип задач

Apache Airflow

Оркестрация и планирование ETL/ELT процессов

DAG-модель (Directed Acyclic Graph), управление зависимостями, интеграция с BigQuery, Spark, S3

Планирование и автоматизация ETL/ELT

Talend

Платформа для ETL/ELT и интеграции данных

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

ETL-процессы, data migration, data quality

Informatica PowerCenter

Корпоративный ETL/ELT-инструмент

Высокая производительность, управление метаданными, аудит и безопасность

Корпоративный ETL, data warehouse загрузка

9 of 14

Тип задачи

Оптимальные инструменты

Почему именно они

Потоковая обработка (streaming)

Apache Kafka, Kafka Streams, Apache Flink

Kafka (высокая отказоустойчивость), Flink (анализ потоков на лету)

Интеграция источников данных (API, базы, файлы)

Apache NiFi, Kafka Connect, Talend

NiFi (визуально строить маршруты); Kafka Connect (без кода); Talend (для более сложных сценариев)

Пакетная загрузка и преобразование данных (ETL/ELT)

Apache Airflow, Talend, Informatica PowerCenter, Pentaho

Airflow (оркестратор ETL-пайплайнов); Talend и Informatica (промышленные ETL-платформы)

Очистка и нормализация данных

Apache NiFi, Talend Data Quality, Python (pandas)

NiFi (очистка в потоке; Talend (качество данных)

Интеграция данных в Data Lake / Data Warehouse

Airflow, Kafka, AWS Glue, Google Dataflow

Сбор из разных источников в хранилища

Мониторинг и аудит потоков данных

NiFi, Airflow, Prometheus + Grafana

NiFi (потоки и логи), Airflow (задачи), Prometheus (метрики)

Реактивные системы (реагируют на события)

Kafka, Flink, Spark Streaming

Позволяют быстро реагировать на изменения: новые заказы, клики, логи и т.д.

10 of 14

Проблемы и риски при сборе данных

  • Дублирование, пропуски и неконсистентность
  • Обработка «запоздавших» событий
  • Потоковые ошибки и сбои
  • Мониторинг и контроль качества данных
  • Управление схемами

11 of 14

Примеры реальных сценариев

  • Beeline Казахстан — таргетированная мобильная реклама на основе данных
  • DIS Group / Arenadata KZ — внедрение Hadoop / решения для озёр и хранилищ данных
  • IBA Group — сервисы Data Lake и Data Warehouse
  • VK Tech — облачный Lakehouse в Казахстане

12 of 14

Заключение

  1. Сбор данных - это стратегический этап: выбор подхода (batch или stream), источников и инструментов влияет на весь цикл обработки и анализа.
  2. Источники данных могут быть разнообразными: API, сенсоры, логи, социальные сети и пр., каждый требует своих методов извлечения и нормализации.
  3. Batch-сбор подходит, когда задержка приемлема и можно накопить данные, потоковой - для событий, требующих реакции в реальном времени.
  4. Архитектуры ETL и ELT, а также Lambda и Kappa предоставляют разные пути организации обработки данных; каждая имеет свои плюсы и минусы.
  5. Инструменты вроде Kafka, NiFi, облачных Data Lake / Warehouse платформ помогают реализовать сбор и хранение данных с учётом скорости, объемов и разнообразия.

13 of 14

Заключение

  1. Без поддержки метаданных, контроля качества, схем и преобработки данные легко станут сырьем, которое сложно анализировать, или, хуже, некорректным.
  2. Реальные кейсы из Казахстана показывают, что компании уже используют эти технологии: Beeline, Казахтелеком, DIS Group, IBA Group, VK Tech - что означает востребованность навыков работы с Big Data на локальном рынке.
  3. Практические навыки: извлекать данные, очищать, сохранять, работать с потоками, строить аналитические системы - необходимы, чтобы создавать решения, которые реально улучшат бизнес-процессы.

14 of 14

Подходы к сбору Big Data

Лекция 7