Где и как в Big Data используется Apache Storm: примеры применения

Apache Storm, Big Data, Большие данные, архитектура, обработка данных, Spark, Hadoop, Kafka

Apache Storm (Сторм, Шторм) часто употребляется в контексте других BigData инструментов для распределенных потоковых вычислений в реальном времени (Real Time, RT): Spark Streaming, Kafka Streams, Flink и Samza. Однако, если Apache Spark и Flink по функциональным возможностям и составу компонентов еще могут конкурировать между собой, то сравнивать с ними Шторм, предназначенный только для относительно простой по логике распределенной обработки потоковых событий, не совсем объективно. Более целесообразно выбирать между Сторм и Apache Samza, что мы рассмотрим в нашей следующей статье. А сегодня поговорим о том, где используется Apache Storm и в каких случаях следует применять именно этот Big Data фреймворк потоковых RT-вычислений. Apache Storm – Hadoop для потоков Big Data Чтобы понять, где стоит использовать Шторм, следует вспомнить историю его появления. Далее …

Apache Flink vs Spark: что и когда выбрать для потоковой обработки Big Data

Flink vs Spark, Big Data, Большие данные, архитектура, обработка данных, Apache Spark

Flink часто сравнивают с Apache Spark, другим популярным инструментом потоковой обработки данных. Оба этих распределенных отказоустойчивых фреймворка с открытым исходным кодом используются в высоконагруженных Big Data приложениях для анализа данных, хранящихся в кластерах Hadoop [1] и других кластерных системах. В этой статье мы поговорим, чем похожи и чем отличаются Флинк и Спарк, а также рассмотрим, в каких случаях оптимально выбрать тот или иной продукт. 5 сходств Apache Flink и Spark Apache Flink и Spark во многом очень похожи: у них одно прикладное назначение и похожие особенности реализации кластерной обработки потоковых данных. Также для них обоих характерны следующие свойства: оба продукта вышли из академической среды – Спарк из университета Беркли (UC Berkley), а Флинк – из берлинского ВУЗа TU University [2]; оба решения поддерживают Далее …

Что выбрать для потоковой обработки Big Data: Apache Kafka Streams или Spark Streaming

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

Проанализировав сходства и различия Apache Kafka Streams и Spark Streaming, можно сделать некоторые выводы относительно выбора того или иного решения в качестве основного инструмента потоковой обработки Big Data. В этой статье мы собрали для вас аргументы в пользу Кафка Стримс и Спарк Стриминг в конкретных ситуациях, а также нашли некоторые примеры их практического использования. Когда стоит выбрать Apache Kafka Streams Напомним, что Apache Kafka Streams – это клиентская библиотека для разработки распределенных потоковых приложений и микросервисов, в которых входные и выходные данные хранятся в кластерах Кафка. Кафка Стримс будет отличным инструментом потоковой обработки информации в следующих случаях: если источники входных и выходных данных находятся только в кластере Кафка, без подключения к сторонним Big Data системам [1]; когда необходим быстрый запуск Далее …

ТОП-7 сходств и различий между Apache Kafka Streams и Spark Streaming

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

Сегодня мы рассмотрим популярные Big Data инструменты обработки потоковых данных: Apache Kafka Streams и Spark Streaming: чем они похожи и чем отличаются. Стоит сказать, что Спарк Стриминг и Кафка Стримс – возможно, наиболее популярные, но не единственные средства обработки информационных потоков Big Data. Для этой цели существует еще множество альтернатив, например, Flink, Storm, Samza, сравнению которых посвящена наша отдельная статья. Что общего между Apache Kafka Streams и Spark Streaming Прежде всего перечислим следующие сходства Кафка Стримс и Спарк Стриминг: надежность и отказоустойчивость – оба инструмента широко используются на практике в качестве инструментов потоковой обработки Big Data в реальных высоконагруженных проектах; распределенная архитектура, которая обеспечивает масштабируемость и высокую скорость обработки потоковых данных, позволяя выполнять код с помощью параллельных задач, распределенных по узлам Далее …

Как Apache Kafka Streams API помогает DevOps-инженеру Big Data систем

Kafka, Big Data, Большие данные, архитектура, обработка данных, Spark, IoT, Internet Of Things, интернет вещей, DevOps

Продолжая разговор про Apache Kafka Streams, сегодня мы расскажем, как API этой мощной библиотеки упрощает жизнь DevOps-инженеру и разработчику Big Data систем. Читайте в нашей статье, как Kafka Streams API эффективно обрабатывать большие данные из топиков Кафка на лету без использования Apache Spark, а также быстро создавать и развертывать распределенные приложения с привычными DevOps-инструментами без дополнительных кластеров. Что такое Apache Kafka Streams API Apache Kafka Streams API – это интерфейс программирования, который позволяет распределенным приложениям в режиме реального времени обрабатывать данные, хранящиеся в Кафка, реализуя стандартные классы этой платформы потоковой обработки без развертывания отдельных кластеров. Благодаря этому инструменту можно организовать потоковую обработку данных прямо внутри кластера Кафка, без привлечения дополнительных технологий, таких как, например, Apache Spark или Storm. В частности, Далее …

Как Machine Learning помогает бизнесу зарабатывать на погоде: Big Data и метеомаркетинг

Big Data, Большие данные, маркетинг, машинное обучение, Machine Learning, Spark, Kafka, дрон, беспилотник, интернет вещей, Internet of Things, мультикоптер

Мы уже рассказывали, как машинное обучение (Machine Learning) и большие данные (Big Data) помогают бизнесу сделать свои маркетинговые кампании персональными и оптимизировать рекламный бюджет. В этой статье рассмотрим, как метеоусловия влияют на маркетинг и каким образом бизнес может заработать на использовании данных об этих внешних условиях. Как погода влияет на уровень продаж: анализ Big Data по метеоусловиям и выручке Погода задает настроение, которое является очень важным аспектом потребительского поведения – 84% покупателей совершают импульсивные (спонтанные) покупки в интернет-магазинах (40%) и оффлайн (60-80%) [1]. Поэтому маркетологи всего мира стремятся выявить закономерности по изменению уровня продаж в зависимости, в том числе и от внешних факторов, таких как погода. Для решения этой задачи отлично подходят аналитические инструменты Big Data, которые помогают найти корреляцию Далее …

Какие бывают форматы файлов Big Data: row vs column

Big Data файлы, Apache AVRO, Sequence, Parquet, ORC, RCFile

Продолжая разговор про форматы Big Data файлов, сегодня мы рассмотрим разницу между линейными и колоночными типами, а также расскажем о том, как выбирать между AVRO, Sequence, Parquet, ORC и RCFile при работе с Apache Hadoop, Kafka, Spark, Flume, Hive, Drill, Druid и других средствах работы с большими данными. Итак, форматы файлов Big Data – все, что нужно для начинающего Data Engineer’а – читайте в нашей статье. 2 типа форматов для Big Data файлов Все многообразие файловых форматов Big Data (AVRO, Sequence, Parquet, ORC, RCFile) можно разделить на 2 категории: линейные (строковые) и колоночные (столбцовые). В линейных форматах (AVRO, Sequence) строки данных одного типа хранятся вместе, образуя непрерывное хранилище. Даже если необходимо получить лишь некоторые значения из строки, все равно вся Далее …

Как хранить большие данные: Apache Parquet, Avro и другие форматы Big Data

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

Мы уже упоминали формат Parquet в статье про Apache Avro, одну из наиболее распространенных схем данных Big Data, часто используемую в Kafka, Spark и Hadoop. Сегодня рассмотрим более подробно, чем именно хорошо Apache Parquet и как он отличается от других форматов Big Data. Что такое Apache Parquet и как он работает: краткий ликбез Напомним, что Apache Parquet — это бинарный, колоночно-ориентированный (столбцовый) формат хранения больших данных. Созданный специально для экосистемы Hadoop, он позволяет эффективно сжимать информацию и считывать файлы частично, по мере необходимых столбцов. Паркет предоставляет возможность задавать схемы сжатия на уровне столбцов и добавлять новые кодировки по мере их изобретения и реализации [1]. Наряду с Apache Avro, Parquet – это весьма популярный формат хранения файлов Big Data, который на Далее …

Как связать Apache Kafka и Spark Streaming: 2 способа интеграции Big Data систем

Интеграция Apache Kafka и Spark Streaming, Big Data

Мы уже рассказывали, зачем нужна интеграция Apache Kafka и Spark Streaming. Сегодня рассмотрим, как технически организовать такой Big Data конвейер по непрерывной обработке потоковых данных в режиме реального времени. Способы интеграции Кафка и Спарк Наладить двустороннюю связь между Apache Kafka и Spark Streaming возможны следующими 2-мя способами: получение сообщений через службу синхронизации Zookeeper с помощью высокоуровневого API Кафка; непосредственная передача данных путем отслеживания смещений в разделах (partition) топика (topic) Кафка через контрольные точки (checkpoints). Эти подходы существенно отличаются друг от друга особенностями реализации, производительностью и семантикой. Второй подход считается более эффективным благодаря отсутствию посредников в передаче данных между двумя системами. Далее мы рассмотрим каждый вариант более подробно. В обоих случаях, прежде всего, необходимо задать конфигурацию связи Kafka – Spark Streaming Далее …

Синергия Apache Kafka и Spark Streaming: потоковая обработка Big Data в реальном времени

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

В этой статье мы рассмотрим архитектуру Big Data конвейера по непрерывной обработке потоковых данных в режиме реального времени на примере интеграции Apache Kafka и Spark Streaming. Что такое Spark Streaming и для чего он нужен Spark Streaming – это надстройка фреймворка с открытым исходным кодом Apache Spark для обработки потоковых данных. Спарк входит в экосистему проектов Hadoop и позволяет осуществлять распределённую обработку неструктурированной и слабоструктурированной информации. Изначально Спарк был написан на языке программирования Scala, затем добавилась часть компонентов на Java. Дополнительно к этим языкам, фреймворк также предоставляет API для Python и R [1]. Apache Spark – это многокомпонентная система из следующих элементов: Ядро (Spark Core), которое использует специализированные примитивы для рекуррентной обработки в оперативной памяти, что значительно ускоряет многократный доступ Далее …