Как хранить большие данные: 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, который на Далее …

DevOps для потоков Big Data: Apache Kafka в кластере Kubernetes

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

Для высоконагруженных Big Data систем и платформ интернета вещей (Internet of Things, IoT) с непрерывными информационными потоками Apache Kafka, практически, стала стандартом де факто для обмена сообщениями и управления очередями. Аналогичную популярность среди DevOps-инструментов завоевал Kubernetes (K8s) как наиболее мощное средство для автоматизации развертывания и управления контейнеризованными приложениями. В этой статье мы поговорим, как использовать эти технологии вместе и насколько это эффективно. Зачем разворачивать Apache Kafka на Kubernetes Одна из главных выгод применения Kubernetes с точки зрения DevOps – это стандартизация процессов развертывания и масштабирования распределенных приложений. Можно значительно ускорить наращивание кластера, рассматривая брокер Кафка как приложение в рамках одного пода (pod) K8s – добавление новых брокеров выполняется с помощью пары kubectl-команд или нескольких строк в ​​файле конфигурации. Также изменения, Далее …

Как связать 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), которое использует специализированные примитивы для рекуррентной обработки в оперативной памяти, что значительно ускоряет многократный доступ Далее …

Apache Kafka vs RabbitMQ в Big Data: сходства и различия самых популярных брокеров сообщений

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

Apache Kafka – не единственный программный брокер сообщений и система управления очередями, используемая в высоконагруженных Big Data проектах. Кафка часто сравнивают с другим популярным продуктом аналогичного назначения – RabbitMQ. В сегодняшней статье мы рассмотрим, чем похожи и чем отличаются Apache Kafka и RabbitMQ, а также поговорим о том, что следует выбирать в конкретных случаях для практического применения. Что такое RabbitMQ и как он работает RabbitMQ – это программный брокер сообщений на основе стандарта AMQP, написанный на языке Erlang и состоящий из следующих основных компонентов [1]: Mnesia – распределенная СУБД реального времени для хранения сообщений, также написанная на языке Erlang – надстройка над ETS- и DETS-таблицами, предоставляющая уровень транзакций и распределённого выполнения [2]; сервер; библиотеки поддержки протоколов HTTP, XMPP и STOMP, Далее …

Что такое Avro: как Apache Kafka и другие технологии Big Data используют эту схему данных

Apache Avro

Мы уже рассказывали о сериализации, схемах данных и их важности в Big Data на примере Schema Registry для Apache Kafka. В продолжение ряда статей про основы Кафка для начинающих, сегодня мы поговорим про Apache Avro – наиболее популярную схему и систему сериализации данных: ее особенностях и применении в технологиях Big Data. Как устроен Apache Авро: принцип работы Напомним, сериализация – это процесс преобразования данных из текстового формата в двоичный, необходимый для передачи данных по сети и сохранения информации в виде файла на диске, в памяти или базе данных. Avro создает файл, в котором он хранит данные вместе со схемой в своем разделе метаданных вместо хранения информацию о типе поля с каждым полем. Благодаря этому для чтения сериализованной информации не требуется Далее …

Как Apache Kafka работает с разными файлами Big Data: зачем нужен Schema Registry

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

Продолжая серию публикаций про основы Apache Kafka для начинающих, в этой статье мы рассмотрим, зачем этой распределенной системе управления сообщениями нужен реестр схем данных (Schema Registry) и что такое сериализация файлов Big Data. Что такое схемы данных в Big Data и как они используются Понятие схемы неразрывно связано с форматом данных, который регламентирует структуру представления информации. Схема предписывает как обрабатывать тот или иной формат. Например, для обработки JSON-файлов используются схемы данных, отличные от схем для работы с изображениями PNG, GIF и прочих графических форматов. Любые файлы, в т.ч. Big Data, хранятся и передаются по сети в виде неструктурированной последовательности двоичных символов – битов, упакованных в байты. Перевод из формата – структуры, семантически понятной человеку, в двоичное представление для машинной обработки Далее …

Еще раз про Big Data Security: как обеспечить безопасность кластера Apache Kafka

Kafka, Big Data, Большие данные, архитектура, обработка данных, защита информации, безопасность, security

В рамках серии публикаций про основы Apache Kafka для начинающих, сегодня мы поговорим про информационную безопасность этой популярной в сфере Big Data распределенной системы управления сообщениями: шифрование, защищенные протоколы, аутентификация, авторизация и другие средства cybersecurity. Что обеспечивает безопасность Apache Kafka в кластере Big Data Информационная безопасность Apache Kafka основана на следующих ключевых технологиях [1]: шифрование SSL/TLS, обеспечивающее защищённую передачу данных в режиме онлайн при всех коммуникациях между отправителями (Producer) и получателями (Consumer) Кафка; аутентификация с использованием криптографического протокола SSL или фреймворка SASL, что позволяет идентифицировать отправителя и получателя сообщений на кластере Kafka; авторизация по спискам избирательного управления доступом (Access Control List, ACL) для детального определения прав клиентов (Client) кластера Kafka на чтение или запись топиков с сообщениями (Topic). Учитывая распределенную Далее …

И чем же она хороша: ТОП-10 достоинств Apache Kafka для Big Data систем

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

Продолжая разговор про основы Apache Kafka, сегодня мы рассмотрим, почему этот распределённый брокер сообщений стал таким популярным в архитектуре систем Big Data. Читайте в нашей статье, как Кафка обеспечивает высокую производительность процессов сбора и агрегации информационных потоков от множества источников, надежно гарантируя долговечную сохранность сообщений, и эффективно интегрируется с другими хранилищами больших данных. 10 главных преимуществ Apache Kafka в мире Big Data Распределенность – отсутствие единой точки отказа за счет распределения данных и программных приложений по узлам кластера. Горизонтальная масштабируемость – возможность добавления новых источников данных и узлов с различными характеристиками в единый вычислительный кластер. Отказоустойчивость – сохранность сообщений обеспечивается архитектурой master-slave (ведущий-ведомый), механизмом реплицирования и синхронизацией реплик. Потеря сообщений возможна только в случае сбоя ведущего узла и отсутствия участвующих в Далее …

Как связаны Apache Kafka и Machine Learning: архитектура Big Data и IoT-систем

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

Рассмотрев основы Apache Kafka, сегодня мы расскажем о месте этого распределённого брокера сообщений в архитектуре Big Data систем. Читайте в нашей статье, какие компоненты Кафка обеспечивают ее использование в программных продуктах машинного обучения (Machine Learning, ML), интернете вещей (Internet Of Things, IoT), системах бизнес-аналитики (Business Intelligence, BI), а также других высоконагруженных средствах обработки и хранения больших данных. Типовая архитектура Big Data систем с Apache Kafka Успех современного бизнеса в data-driven мире напрямую зависит от скорости обработки информации и реакции на факты, полученные в результате этого процесса. Например, банку нужно обнаружить мошенничество еще до того, как злоумышленник похитит деньги с кредитной карты клиента, а интернет-магазин стремится предложить посетителю товар, который его заинтересует, только на основании поисковых запросов. Промышленные IoT-платформы с помощью Далее …