Apache AirFlow

Что такое AirFlow

Apache AirFlow — это инструмент, который позволяет разрабатывать, планировать и осуществлять мониторинг сложных рабочих процессов. Главной особенностью является то, что для описания процессов используется язык программирования Python. Apache Airflow используется как планировщик ETL/ELT-процессов. Основные сущности рабочего процесса на Apache Airflow: Направленные ациклические графы (DAG) Планировщик (Scheduler) Операторы (Operators) Задачи (Tasks) AIRF: Apache AirFlow Что такое AirFlow? Post Views: 80

AVRO

Apache Avro

Avro – это линейно-ориентированный (строчный) формат хранения файлов Big Data, активно применяемый в экосистеме Apache Hadoop и широко используемый в качестве платформы сериализации. Как устроен формат Avro для файлов Big Data: структура и принцип работы Avro сохраняет схему в независимом от реализации текстовом формате JSON (JavaScript Object Notation), что облегчает ее чтение и интерпретацию как программами, так и человеком [1]. Файл Авро состоит из заголовка и блоков данных. Заголовок содержит: 4 байта, ASCII ‘O’, ‘b’, ‘j’, далее 1. метаданные файла, содержащие схему – структуру представления данных. 16-байтное случайное число — маркер файла. Для блоков данных Avro может использовать компактную бинарную кодировку или человекочитаемый формат JSON, удобный для отладки. В отличие от многих других форматов Big Data, столбцовых (RCFile, Apache ORC и Далее …

Flink

Apache Flink, Apache Spark, Флинк, Спарк, Big Data, Большие данные

Apache Flink – это распределенная отказоустойчивая платформа обработки информации с открытым исходным кодом, используемая в высоконагруженных Big Data приложениях для анализа данных, хранящихся в кластерах Hadoop. Разработанный в 2010 году в Техническом университете Берлина в качестве альтернативы Hadoop MapReduce для распределенных вычислений больших наборов данных, Flink использует подход ориентированного графа, устраняя необходимость в отображении и сокращения [1]. Подобно Apache Spark, Flink имеет готовые коннекторы с Apache Kafka, Amazon Kinesis, HDFS, Cassandra, Google Cloud Platform и др., а также интегрируется со всеми основными системами управления кластерами: Hadoop YARN, Apache Mesos и Kubernetes. Кроме того, Флинк может использоваться в качестве основы автономного кластера [1]. Как устроен Apache Flink: архитектура и принцип работы Входные данные каждого потока Флинк берутся с одного или нескольких источников, например, из очереди сообщений Далее …

Kafka

Apache Kafka — распределенный программный брокер сообщений поддерживающий транзакционность при работе с потребителями и поставщиками событий: публикует и подписывается на поток записей подобно очереди сообщений и корпоративной системе сообщений хранит поток записей (событий) обеспечивая отказоустойчивость и надежность обрабатывает поток записей (событий) по мере поступления Apache Kafka обычно используется как Event Processing System (система обработки событий) для двух классов приложений: построение потоков каналов данных в режиме реального времени (real-time streaming data pipelines)  с надежностью получения данных между системами и приложениями; построение потоковых приложений работающих в режиме реального времени (real-time streaming applications) которые трансформируют или реагируют на данные потока. или более красочно от Confluent  Apache Kafka, a Distributed Streaming Platform Проект Apache Kafka https://kafka.apache.org Почитать про Kafka  и попробовать https://www.confluent.io/product/confluent-platform/ Учебные курсы  по Kafka на Далее …

KSQL

KSQL — это движок SQL для Apache Kafka, который может использоваться для анализа данных в режиме реального времени с использованием операторов SQL вместо написания большого количества кода на Java. KSQL, построенный на основе API Kafka Streams, поддерживает операции обработки потоков, такие как фильтрация, преобразования, агрегации, соединения, оконные операции и сессии. Post Views: 12

Parquet

Apache Parquet, апач паркет, формат данных

Apache Parquet — это бинарный, колоночно-ориентированный (столбцовый) формат хранения больших данных, изначально созданный для экосистемы Hadoop, позволяющий использовать преимущества сжатого и эффективного столбцового представления информации. Паркет позволяет задавать схемы сжатия на уровне столбцов и добавлять новые кодировки по мере их изобретения и реализации [1]. Вместе с Apache Avro, Паркет является очень популярным форматом хранения файлов Big Data и часто используется в Kafka, Spark и Hadoop. Структура файла Apache Parquet Из-за архитектурных особенностей структура представления информации в Parquet сложнее, чем, например, в JSON, который также часто используется для Big Data. В частности, уровни определения (definition levels) и уровни повторения (repetition levels) позволяют оптимально хранить пустые значения и эффективно кодировать данные, информацию о схеме в отдельные метаданные [2]. Уровни определения определяют количество необязательных полей в пути для Далее …

Samza

Apache Samza, Апач Самза, Big Data, Большие данные, архитектура, обработка данных, Spark, Hadoop, Kafka

Apache Samza (Самза) – это асинхронная вычислительная Big Data среда с открытым исходным кодом для распределенных потоковых вычислений практически в реальном времени, разработанная в 2013 году в соцсети LinkedIn на языках Scala и Java. Проектом верхнего уровня Apache Software Foundation Самза стала в 2014 году [1]. Samza vs Apache Kafka Streams: сходства и различия Apache Samza часто сравнивают с Kafka Streams. На самом деле, эти продукты очень похожи между собой [2]: оба решения созданы одними и теми же разработчиками, которые внедрили Samza в LinkedIn, а затем основали компанию Confluent, где и была написана Kafka Streams; обе технологии тесно связаны с Kafka – они получают оттуда необработанные данные, производят вычисления и затем возвращают обработанные данные обратно; низкая задержка обработки данных (low Далее …

Spark

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

Apache Spark – это Big Data фреймворк с открытым исходным кодом для распределённой пакетной и потоковой обработки неструктурированных и слабоструктурированных данных, входящий в экосистему проектов Hadoop [1]. История появления Спарк и сравнение с Apache Hadoop Основным автором Apache Spark считается Матей Захария (Matei Zaharia), румынско-канадский учёный в области информатики. Он начал работу над проектом в 2009 году, будучи аспирантом Университета Калифорнии в Беркли. В 2010 году проект опубликован под лицензией BSD, в 2013 году передан фонду Apache Software Foundation и переведён на лицензию Apache 2.0, а в 2014 году принят в число проектов верхнего уровня Apache. Изначально Спарк написан на Scala, затем была добавлена существенная часть кода на Java, что позволяет разрабатывать распределенные приложения непосредственно на этом языке программирования [1]. Далее …

Storm

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

Apache Storm (Сторм, Шторм) – это Big Data фреймворк с открытым исходным кодом для распределенных потоковых вычислений в реальном времени, разработанный на языке программирования Clojure. Изначально созданный Натаном Марцем и командой из BackType, этот проект был открыт с помощью исходного кода, приобретенного Twitter. Первый релиз состоялся 17 сентября 2011 года, а с сентября 2014 Storm стал проектом верхнего уровня Apache Software Foundation [1]. Как устроен Apache Storm: архитектура и принцип работы Кластер Apache Storm, работающий по принципу master-slave, состоит из следующих компонентов [1]: Ведущий узел (master) с запущенной системной службой (демоном) Nimbus, который назначает задачи машинам и отслеживает их производительность. Рабочие узлы (worker nodes), на каждом из которых запущен демон Supervisor (супервизор), который назначает задачи (task) другим рабочим узлам и Далее …

Zookeeper

Apache  Zookeeper —  open source проект Apache Software Foundation , cервис-координатор обеспечивающий распределенную синхронизацию небольших по объему данных (конфигурационная информация, пространство имен)  для группы приложений. Zookeeper представляет из себя распределенное хранилище ключ-значение (key-value store) гарантирующий надежное консистентное(consistency)  хранение информации  за счет использования синхронной репликации между узлами, контроля версий, механизма очередей(queue)  и блокировок(lock). За счет использования оперативной памяти и масштабируемости обладает высокой скоростью  Сценарии использования Zookeeper: Распределенный сервер имен (namespace — topics для Kafka) Распределенная  конфигурация (Hadoop, Kafka) Распределенный членство в группах (распределенные сервисы Kafka, Hadoop) Выбор главного в распределенных системах с арбитражом(Leader election)    Post Views: 48