Apache NiFi Stateless: что это и как он работает

Чем Stateless-движок отличается от классического механизма потоковой обработки данных Apache NiFi, каковы его ключевые принципы работы и почему здесь особенно важна надежность источника. Классический Apache NiFi: основные понятия Приложение Apache NiFi можно рассматривать как два отдельных, но взаимосвязанных компонента: подлинности потока и его движок. Объединив их в одном приложении, NiFi...

Как измерить задержку потребления из Apache Kafka: простой пример

Насколько быстро работает Apache Kafka в облачной платформе Upstash: пишем простой пример для пары продюсер-потребитель на Python и измеряем задержку. Миллисекундное отставание при публикации и минутная задержка обработки данных на потребителе. Задержка публикации сообщений в Kafka Чтобы измерить задержку асинхронного обмена данными в системе с EDA-архитектурой из продюсера и потребителя...

API Pandas в Apache Spark: возможности и опасности

Каждому специалисту по Data Science и инженеру данных знакома Python-библиотека pandas. Однако, для работы с большими данными она не очень подходит из-за высокого потребления памяти. Тем не менее, отказаться от старых привычек сложно. Поэтому разбираемся, зачем использовать API Pandas в Apache Spark и как это сделать наиболее эффективно. Чем отличается...

Как использовать в одном DAG Apache AirFlow задачи из разных Python-файлов

Простой пример объединения нескольких задач, описанных в разных Python-файлах, в единый DAG Apache AirFlow на кейсе выгрузки из реляционной базы PostgreSQL данных о выполненных заказах за последние 100 дней. Разработка и запуск кода в Google Colab. Объединение задач из отдельных Python-файлах в один DAG AirFlow Я уже показывала, как построить...

Моментальные снимки распределенной файловой системы Apache Hadoop: тонкости снапшотов HDFS

Зачем делать моментальные снимки состояния распределенной файловой системы Apache Hadoop, почему не стоит создавать снапшоты HDFS в корневом каталоге и как найти оптимальную частоту сохранения состояния больших данных. Как устроен механизм снапшотов в HDFS Чтобы повысить надежность системы, ее состояние необходимо периодически сохранять. Для баз данных и файловых систем эта...

Мультиарендность в кластере Apache Kafka

Что такое мультитенантность и как администратору Apache Kafka настроить изоляцию арендаторов в мультиарендном кластере: конфигурации, квоты и лайфхаки. Что такое мультиарендность и как реализовать эту модель для кластера Kafka Мультитенантность (мультитенантность, multitenancy) переводится с английского как множественная аренда и в контексте архитектуры ПО означает разделение одного экземпляра приложения между несколькими...

Что такое Apache Flink Stateful Functions и как это использовать?

Зачем Apache Flink очередной API для создания распределенных приложений с отслеживанием состояния, чем он полезен и при чем здесь Kubernetes: ликбез по Stateful Functions. Apache Flink Stateful Functions Stateful Functions в Apache Flink – это API, который упрощает создание распределенных приложений с отслеживанием состояния с помощью среды выполнения, созданной для...

Что нас ждет в Apache NiFi 2.0: главные новинки

Опубликованная впервые в 2016 году 1-ая версия Apache NiFi дополняется новыми минорными релизами, последним из которых стал 1.23.2, исправляющий ошибки предыдущих выпусков. Однако, в обозримом будущем ожидается мажорный релиз 2.0 со множеством новых возможностей. Разбираемся с его наиболее перспективными предложениями. ТОП-10 целей Apache NiFi 2.0 Чтобы повысить безопасность, снизить сложность...

Уязвимости Apache AirFlow в 2023 году: от средних до критических

Какие ошибки и угрозы нарушения безопасности были обнаружены в Apache AirFlow в 2023 году: обзор уязвимостей и способы их устранения. 9 уязвимостей среднего уровня серьезности В текущем году в Apache AirFlow было обнаружено 15 уязвимостей разной степени критичности. К наименее серьезным с маркировкой Medium и оценкой от 4 до 6.9...

Как устроено сжатие сообщений в Apache Kafka

Зачем сжимать сообщения при их публикации в Apache Kafka, как устроен механизм сжатия и какие конфигурации задавать для его эффективного использования. Сжатие сообщений в Kafka: причины использования и принципы работы Единицей параллелизма в Apache Kafka является раздел топика, куда приложение-продюсер отправляет сообщение, чтобы его мог считать потребитель, назначенный на этот...

Почему производительность Apache Flink выше Spark: 5 главных причин

Из-за чего приложения Flink работают быстрее Spark: разница в моделях обработки данных, управлении памятью, методах оптимизации, дизайне API и личный опыт использования. Apache Flink vs Spark: сходства и отличия Apache Spark и Flink считаются наиболее популярными фреймворками разработки распределенных приложений в области Big Data. Они достаточно похожи, что мы ранее...

Чем Scala лучше Java для разработки Spark-приложения: ТОП-5 преимуществ

Как разница между Scala и Java отражается на работе Spark-приложения, почему код на Scala работает быстрее и когда выбирать этот язык программирования для разработки приложений аналитики больших данных. Scala vs Java: ключевые отличия Хотя Apache Spark позволяет разработчику писать код на нескольких языках программирования (Scala, Java, R, Python), сам фреймворк...

Сжатие данных в Greenplum

Как включить сжатие данных в Greenplum, какие алгоритмы сжатия поддерживает эта MPP-СУБД и можно ли установить разные параметры сжатия для отдельных столбцов и разделов больших таблиц. Примеры SQL-запросов и рекомендацию по настройке. Как Greenplum сжимает данные: примеры настроек и SQL-запросов Эффективное сжатие данных позволяет Greenplum снижать потребление памяти и повышать...

Event Streaming vs Event Sourcing: 2 паттерна проектирования EDA-архитектуры

В чем разница между потоковой передачей событий и источником событий и при чем здесь Apache Kafka: разбираемся с паттернами проектирования событийно-ориентированной архитектуры. 2 паттерна проектирования EDA-архитектуры Напомним, что сегодня для построения сложных систем, зачастую состоящих из множества взаимодействующих компонентов, и реактивно реагирующих на события внешнего мира, активно используется идея архитектуры,...

RAG-приложения и Neo4j: поддержка векторного индекса для LLM

Что не так с большими языковыми моделями, как RAG-приложения расширяют возможности LLM и зачем в графовой СУБД Neo4j добавлена поддержка векторного индекса. Зачем нужны RAG-приложения: ограничения базовых LLM-сетей С появлением ChatGPT и других генеративных нейросетей, большие языковые модели (LLM, Large Language Models) стали активно применяться для решения множества бизнес-задач, связанных...

Происхождение данных в Apache NiFi

Недавно мы писали про спецификацию OpenLineage, которая позволяет обеспечить мониторинг происхождения данных в Apache AirFlow. Сегодня рассмотрим, в чем разница Data Lineage и Data Provenance, а также, как потоковый маршрутизатор Apache NiFi организует отслеживание событий генерации и изменения данных. Data Lineage vs Data Provenance Сначала рассмотрим, чем отличается Data Provenance...

Apache Spark 3.5.0: что нового?

13 сентября 2023 года вышел Apache Spark 3.5. Знакомимся с самыми важными новинками свежего релиза: расширения Spark Connect и SQL, поддержка DeepSpeed, улучшения потоковой передачи и свежие UDF-функции Python. ТОП-5 новинок Apache Spark 3.5.0 В Apache Spark 3.5. добавлено много исправлений и улучшений, а также реализованы новые функции. Наиболее интересными...

Что такое OpenLineage и как это связано с Apache AirFlow

Как Apache AirFlow отслеживает происхождение данных, какова структура спецификации OpenLineage, чем она схожа с OpenAPI, какие инструменты позволяют сформировать эту документацию и чем она полезна. Что такое OpenLineage В области инженерии данных и управления конвейерами их обработки очень важно понятие происхождения данных (Data Lineage). Это концепция отслеживания и визуализации данных...

2 режима развертывания приложений Apache Flink: что и когда выбирать

Какие режимы развертывания заданий поддерживает Apache Flink и чем они отличаются. Достоинства и недостатки режима сеанса и режима приложения, а также варианты использования. Особенности развертывания приложения Apache Flink Режим развертывания определяет, с каким уровнем изоляции ресурсов задание Flink будет выполняться в кластере. Напомним, выполнение задания Apache Flink включает 3 объекта:...

Модульное тестирование в Apache NiFi

Как тестировать пользовательские процессоры и службы контроллера Apache NiFi: знакомимся с методами интерфейса TestRunner в модуле nifi-mock. Как создать тестовый объект, настроить его и проверить валидность работы собственного компонента Apache NiFi. Тестирование компонентов Apache NiFi: создание тестовых объектов и их настройка Будучи разработанным на Java, Apache NiFi позволяет использовать возможности...