Все грани 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 с учетом схем для записи форматов сообщений. Дополнительная обработка событий для последующей аналитики больших данных и Далее …

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), а также пользовательские свойства. Содержимое Далее …

Как не наступить на 10 главных граблей Apache Airflow в production: разбираемся на практических примерах

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

Мы уже рассказывали про основные достоинства и недостатки Apache Airflow, с которыми чаще всего можно столкнуться при практическом использовании этого оркестратора конвейеров обработки больших данных (Big Data). Сегодня рассмотрим некоторые специфические ограничения, характерные для этой open-source платформы и способы решения этих проблем на реальных примерах.   Все по плану: 5 особенностей Scheduler’а Планировщик (Scheduler), который отслеживает все задачи и все группы DAG, запуская экземпляры Task, считается самым интересным, но и самым слабым местом Apache Airflow [1]. Он разработан для работы в качестве постоянной службы в production-среде и использует конфигурацию, указанную в конфигурационном файле airflow.cfg. Примечательно, что планировщик не запустит задачи до тех пор, пока не закончится установленный период, который он охватывает. Например, задание с параметром schedule_interval, установленным как @daily, запустится Далее …

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). Независимо от Далее …

Что не так с Delta Lake на Apache Spark: 7 основных проблем и их решения

Spark, архитектура, обработка данных, большие данные, Big Data, Hadoop, Data Lake, Hive, SQL, NoSQL, MLOps, DataOps, Delta Lake, обучение Apache Spark, курсы по Spark

При всех своих достоинствах Delta Lake, включая коммерческую реализацию этой Big Data технологии от Databricks, оно обладает рядом особенностей, которые могут расцениваться как недостатки. Сегодня мы рассмотрим, чего не стоит ожидать от этого быстрого облачного хранилище для больших данных на Apache Spark и как можно обойти эти ограничения. Читайте далее, как реализовать потоковое чтение и запись данных при отсутствии Sqoop, что делать для изменения типа столбца и при чем тут Hive. Не все так просто или ключевые особенности Delta Lake Подчеркнем, что облачное Delta Lake располагается поверх корпоративной системы хранения данных, но не заменяет ее, а добавляет возможность работать с ACID-транзакциями в Hadoop HDFS, BLOB-объекты Azure и Amazon S3. Загрузка информации в Delta Lake возможна из любой системы хранения, которая Далее …

Облачное Delta Lake на Apache Spark от Databricks vs классическое озеро данных на Hadoop: 5 главных отличий

Delta Lake Databricks, курсы по Spark, архитектура, обработка данных, большие данные, Big Data, курсы Hadoop, Data Lake

Продолжая разговор про Delta Lake, сегодня мы рассмотрим, чем это быстрое облачное хранилище для больших данных в реализации компании Databricks отличается от классического озера данных (Data Lake) на Apache Hadoop HDFS. Читайте далее, как коммерческое Cloud-решение на Apache Spark облегчает профессиональную деятельность аналитиков, разработчиков и администраторов Big Data. Больше, чем просто облачный Hadoop или Spark: преимущества Delta Lake от Databricks Напомним, наиболее известной коммерческой реализацией open-source технологии Data Lake считается продукт международной компании Databricks [1]. Помимо архитектурных плюсов Apache Spark по сравнению с Hadoop, Databricks привнесла в концепцию облачного масштабируемого и надежного хранилища данных следующие преимущества [2]: Простота администрирования. В кластерах Apache Hadoop системный менеджер ресурсов YARN управляет емкостью и согласованием заданий. При этом балансировка кластерной нагрузки предполагает довольно высокий Далее …