Все грани Apache NiFi для построения ETL-pipeline’ов и обработки потоковых данных с Kafka и Spark

Spark, обработка данных, большие данные, Big Data, NiFi, ETL, Kafka, машинное обучение, Machine Learning, курсы по Apache NiFi, обучение инженеров больших данных, Big Data Engineer обучение

Продолжая разговор про инженерию больших данных, сегодня рассмотрим, как построить ETL-pipeline на открытых технологиях Big Data. Читайте далее про получение, агрегацию, фильтрацию, маршрутизацию и обработку потоковых данных с помощью Apache NiFi, Kafka и Spark, преобразование JSON, а также обогащение и сохранение данных в Hive, HDFS и Amazon S3. Пример потокового конвейера обработки данных на технологиях Big Data Разберем кейс, когда необходимо использовать несколько источников, включая каналы REST, социальные каналы, сообщения, изображения, документы и реляционные данные. Типовой конвейер обработки данных (data pipeline) в этом случае будет выглядеть следующим образом [1]: Apache NiFi принимает потоковые данные, фильтрует их, обрабатывает и отправляет в соответствующие топики Apache Kafka с учетом схем для записи форматов сообщений. Дополнительная обработка событий для последующей аналитики больших данных и Далее …

Как построить ETL-pipeline на Apache Spark или что под капотом StreamSets Transformer

Spark, обработка данных, большие данные, Big Data, NiFi, ETL, Data Lake, Machine Learning, машинное обучение, Delta Lake, Kafka, StreamSets Transformer

Однажды мы уже рассказывали про StreamSets Data Collector, сравнивая его с Apache NiFi. Сегодня рассмотрим, как устроен этот исполнительный движок для запуска конвейеров обработки больших данных, каким образом он связан с Apache Spark и чем полезен инженеру Big Data при организации ETL-процессов на локальных и облачных озерах данных (Data Lake, Delta Lake). Демократизация ETL для Delta Lake: автоматизация pipeline’ов и GUI Получение информации из Data Lake для аналитики больших данных и машинного обучения (Machine Learning) – один из важнейших аспектов современной Big Data инфраструктуры. При этом на практике часто возникает проблема консолидации пакетных и потоковых источников данных. Большие данные часто бывают неструктурированы и несовместимы друг с другом из-за разных форматов и типов. Это затрудняет обновление данных в Data Lake. Кроме Далее …

Kafka Connect для мониторинга событий и метрик: настраиваем JSON для интеграции с New Relic

Big Data, Большие данные, обработка данных, Kafka, архитектура, администрирование

Мы уже писали, что такое Kafka Connect и как этот инструмент обеспечивает потоковую передачу данных между Apache Kafka и другими системами на примере интеграции с Elasticsearch. Сегодня рассмотрим новый коннектор, который позволяет загружать данные из топиков Apache Kafka в платформу удаленного мониторинга работоспособности мобильных и веб-приложений New Relic через гибкий REST API. Читайте далее про мониторинг телеметрии и событийно-потоковую обработку данных в виде JSON-конфигураций.   Телеметрия приложений или за чем следить будем Прежде всего, поясним, что такое New Relic и зачем это нужно. New Relic – это телеметрическая платформа удаленного мониторинга мобильных и веб-приложений, которая позволяет собирать, исследовать и получать оповещения обо всех данных телеметрии из любого источника в одном месте. Готовая интеграция с open-source инструментами упрощает настройку, устраняя затраты и сложности Далее …

Особенности JOIN-операций в Apache Kafka Streams на примере Twitter

Big Data, Большие данные, обработка данных, Kafka, архитектура, Machine Learning, машинное обучение, KSQL

Продолжая разговор про практическое применение Apache Kafka на примере организации рекомендательной системы Twitter, сегодня мы рассмотрим, как с помощью Kafka Streams был разработан конвейер сбора и агрегации данных для машинного обучения (Machine Learning). Читайте в нашей статье про особенности объединения больших данных через LeftJoin и InnerJoin в Apache Kafka Streams. Архитектура приложения Kafka Streams в Twitter При относительной простоте высокоуровневой архитектуры конвейера Machine Learning в рамках рекомендательной системы Twitter на базе Apache Kafka, о чем мы рассказывали вчера, ее создание не обошлось без трудностей. В частности, специалистам Big Data в компании пришлось модифицировать типовую join-функцию в Kafka Streams. Кроме того, большой объем трафика, также оказывал отрицательное влияние на join-функции по умолчанию, дополнительно нагружая сам кластер Kafka. При этом логика обработки конвейера логов Далее …

Как Twitter построил на Apache Kafka новый ML-конвейер своей рекомендательной системы

Big Data, Большие данные, обработка данных, Kafka, архитектура, Machine Learning, машинное обучение, Hadoop

Недавно мы рассказывали про преимущества event-streaming архитектуры с помощью Apache Kafka на примере The New York Times. В продолжение этой темы Apache Kafka, сегодня поговорим про использование этой Big Data платформы в Twitter для построения конвейера потоковой регистрации событий в рекомендательной системе на базе алгоритмов машинного обучения (Machine Learning).   Как работают рекомендательные ML-системы в соцсетях: разбираем на примере Twitter Не секрет, что современные контент-платформы и соцсети активно используют машинное обучение для формирования персональных рекомендаций по контенту для каждого пользователя. В частности, в Twitter по умолчанию для вас отображаются те посты, которые с максимальной вероятностью будут интересны именно вам, в зависимости от прошлых прочтений, интересов, лайков, твитов и прочих событий пользовательского поведения. Для этого выбора применяются динамические алгоритмы Machine Learning, Далее …

Как укротить NiFi: решаем проблемы ввода-вывода

Big Data, Большие данные, обработка данных, NiFi, архитектура, администрирование, Elasticsearch, Kafka

Apache NiFi – это простая и мощная система для обработки и распределения больших данных в потоковом режиме, которая отлично справляется с огромными объемами и скоростями, оперируя с сотнями гигабайт и даже терабайтами информации. Однако, на практике при работе с этой Big Data платформой можно столкнуться с проблемой ввода-вывода (IOPS, Input-Output Per Second), которая станет «бутылочным» горлышком всей системы. Читайте далее, как справиться с этим, не снижая качества, объемов и скоростей. Где Apache NiFi хранит данные и как конфигурировать эти хранилища Apache NiFi работает с потоковыми файлами (FlowFile), каждый из которых представляет собой единый фрагмент информации из заголовка и содержимого, аналогично HTTP-запросу. Заголовок содержит атрибуты, которые описывают тип данных содержимого, время создания и уникальный идентификатор (uuid), а также пользовательские свойства. Содержимое Далее …

Apache Kafka как ядро event-streaming Big Data архитектуры: кейс The New York Times

Big Data, Большие данные, обработка данных, Kafka, архитектура, администрирование, Elasticsearch

Сегодня мы продолжим разговор о событийно-процессной архитектуре Big Data систем на примере использования Apache Kafka в The New York Times. Читайте далее, как одно из самых известных американских СМИ с более чем 160-летней историей хранит в Apache Kafka все свои статьи и с помощью API Kafka Streams публикует контент в режиме реального времени в различные приложения, делая его мгновенно доступным для читателей. Постановка задачи: технический взгляд и позиция бизнеса Основной причиной создания новой системы публикации контента в The New York Times стала необходимость оперативного предоставления множеству внутренних и внешних приложений доступа к опубликованному контенту. При этом стоило учесть разные требования каждого из компонентов этой многосвязной системы [1]: сервису, который предоставляет содержимое для веб-сайта и собственных приложений необходимо делать ресурсы доступными Далее …

Заменит ли Apache Kafka в прочие СУБД в мире Big Data: за и против

Big Data, Большие данные, обработка данных, Kafka, архитектура, администрирование, SQL, NoSQL, Data Lake, Delta Lake, Elasticsearch, ClickHouse, DWH, обучение Apache Kafka, курсы по Apache Kafka

В этой статье мы поговорим про возможность нехарактерного использования Apache Kafka: не как распределенной стримминговой платформы или брокера сообщений, а в виде базы данных. Читайте далее, как Apache Kafka дополняет другие СУБД, не заменяя их полностью, почему такой вариант использования возможен в Big Data и когда он не совсем корректен. Что общего у Apache Kafka с базой данных и чем они отличаются В современном ИТ-мире есть множество видов баз данных, которые в большинстве случаев принято разделять на следующие категории [1]: простейшие – файлы, иерархические и сетевые; реляционные (MySQL, MariaDB, PostgreSQL, ClickHouse); нереляционные или NoSQL (Elasticsearch, Cassandra, Apache HBase, MongoDB, Redis, Prometheus, InfluxDB, TimescaleDB, Tarantool); комбинированные NewSQL (MemSQL, VoltDB, Spanner, Calvin, CockroachDB, FaunaDB, yugabyteDB) и многомодельные (ArangoDB, OrientDB, Couchbase). Независимо от Далее …

Что такое Arenadata Streaming: сочетаем Apache Kafka с NiFi в корпоративном масштабе

Arenadata Streaming Kafka NiFi? Arenadata, Big Data, Большие данные, обработка данных, Kafka, NiFi, архитектура, администрирование, ETL

Мы уже рассказывали про преимущества совместного использования Apache Kafka и NiFi. Сегодня рассмотрим, как эти две популярные технологии потоковой обработки больших данных (Big Data) сочетаются в рамках единого решения от отечественного разработчика — Arenadata Streaming. Читайте далее про основные сценарии использования и ключевые достоинства этого современного продукта класса Event Stream Processing в режиме реального времени. Что такое Arenadata Streaming и зачем она нужна Напомним, удобный веб-GUI и обилие готовых обработчиков событий (процессоров) с множеством настроек и поддержкой Python в NiFi отлично дополняют возможности сбора и агрегации потоковых данных Apache Kafka. Комбинация этих Big Data фреймворков дает максимальную гибкость разработчику Data Flow и инженеру Big Data, которые поддерживают этот конвейер обработки данных (data pipeline). Поэтому неудивительно, что именно эти две open-source Далее …

Какой Machine Learning в вашем production: 5 популярных паттернов на любой вкус и 2 основные стратегии внедрения

цифровизация, архитектура, контейнеризация, Docker, Kubernetes, Big Data, Большие данные, Data Science, машинное обучение, Machine Learning, DevOps, MLOps, Kafka, Data Lake, Hadoop

Завершая цикл статей про MLOps, сегодня мы расскажем про 5 шаблонов практического внедрения моделей Machine Learning в промышленную эксплуатацию (production). Читайте далее, что такое Model-as-Service, чем это отличается от гибридного обслуживания и еще 3-х вариантов интеграции машинного обучения в production-системы аналитики больших данных (Big Data), а также при чем тут Apache Kafka, Лямбда-архитектура, контейнеризация и бессерверные вычисления. MLOps-шаблоны внедрения ML-моделей в production MLOps-энтузиасты выделяют следующие паттерны внедрения моделей машинного обучения в production [1]: Модель как услуга или сервис (Model-as-Service); Модель как зависимость (Model-as-Dependency); Предварительный расчет (Precompute); Модель по запросу (Model-on-Demand); Гибридная модель обслуживания (Hybrid Model Serving) или Федеративное обучение (Federated Learning)   Критерий ML-модель Обслуживание и версионирование (Service & Versioning) Вместе с приложением-потребителем Независимо от приложения-потребителя Доступность во время компиляции Далее …