Apache NiFi 1.23.1: 10 исправленных ошибок и обновление зависимостей

18 августа 2023 года вышел очередной релиз Apache NiFi. Смотрим, какие проблемы устранены в этом выпуске, знакомимся с обновлениями коннекторов, а также прочими изменениями в NiFi 1.23.1. Apache NiFi 1.23.1: главные новости Apache NiFi 1.23.1 не зря назван отладочным выпуском. В нем нет ни одной новой фичи, однако, исправлено 11...

Apache AirFlow 2.7: обзор августовского релиза

14 августа 2023 года вышел очередной релиз Apache AirFlow . Разбираем его самые главные новые возможности, улучшения и исправления ошибок: отказ от Python 3.7, задачи установки/демонтажа, встроенная поддержка спецификации OpenLineage, обновления интерфейса, упрощение управления сложными зависимостями и другие фичи Apache AirFlow  2.7. Задачи установки/демонтажа Apache AirFlow  2.7 содержит более 35...

Разгружаем PostgreSQL: ETL-конвейер с Apache AirFlow в Google Colab

Сегодня усложним пример из прошлой статьи с простым ETL-конвейером, который добавлял в базу данных интернет-магазина новые записи о клиентах, сгенерированные с помощью библиотеки Faker. Разбираем, как удалить из PostgreSQL данные об успешно доставленных заказах за прошлый месяц, предварительно сохранив их в JSON-файл с многоуровневой структурой. Пишем и запускаем DAG Apache...

От ETL до EtLT: эволюция в архитектуре конвейеров обработки данных

Как развивалась архитектура конвейеров обработки данных, что такое EtLT и почему этот подход почему постепенно заменяет классические ETL и ELT-инструменты. Краткая история развития современной дата-инженерии. От ETL к ELT и обратно: предыстория Архитектура конвейеров обработки данных претерпела несколько итераций от ETL, ELT, XX ETL (Reverse ETL, Zero-ETL) до EtLT. Если экосистема...

ETL для PostgreSQL с Apache AirFlow в Google Colab

Сегодня реализуем простой ETL-конвейер для реляционной СУБД PostgreSQL, запустив Apache AirFlow в интерактивной среде Google Colab. Пример DAG из 3-х задач: получить количество строк в одной из таблиц БД, сгенерировать новые строки и записать их, не нарушив ограничений уникальности первичного ключа. Постановка задачи Возьмем в качестве примера базу данных для...

Как устроен кластер Apache NiFi

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

4 главных недостатка запуска Apache AirFlow в Colab

Медленно, муторно, небезопасно: что не так с запуском Apache AirFlow в интерактивной среде Google Colab и можно ли с этим смириться. Разбираем на личном опыте. Трудности работы с Apache AirFlow в среде Google Colab О том, что можно настроить AirFlow в Google Cloud Platform, и запускать DAG-файлы из Colab, используя...

Как добавить свое соединение в AirFlow на Colab: DAG с отправкой данных в Телеграм-чат

В этой статье рассмотрим, как добавить собственное соединение в Apache AirFlow, запустив его в интерактивной среде Colab с помощью Python-кода, и использовать его при отправке результатов выполнения задач DAG в свой чат-бот Телеграм. Постановка задачи: DAG с отправкой данных в Телеграм Недавно я подробно рассказывала, как настроить AirFlow в Google...

Как запустить DAG AirFlow в Google Colab: простой пример

Сегодня рассмотрим, как выполнить DAG Apache AirFlow, запустив его в интерактивной среде Colab и получив доступ в веб-GUI этого фреймворка, создав туннель локального хоста на публичный URL с помощью утилиты ngrok. В качестве примера построим простой конвейер из 5 задач. Запуск Apache AirFlow в Google Colab Чтобы не повторять содержимое...

Как работает протокол Site-to-Site в Apache NiFi

Будучи распределенным ETL/ELT-инструментом потоковой передачи данных, Apache NiFi имеет соответствующие средства, которые обеспечивают взаимодействия между разными узлами кластера. Одним из них является протокол Site-to-Site (S2S), с которым мы познакомимся далее. Что такое протокол S2S При отправке данных из одного экземпляра NiFi в другой можно использовать множество различных протоколов, наиболее предпочтительным...

Apache CarbonData: еще один колоночный формат для больших данных

Формат данных в озере или гибридном хранилище типа Data LakeHouse сильно влияет на скорость выполнения аналитических запросов. Сегодня рассмотрим, как Apache CarbonData делает аналитику больших данных в реальном времени еще быстрее. Что такое Apache CarbonData Традиционные форматы данных, часто используемые в проектах Big Data, такие как CSV и AVRO, имеют...

Как запустить Apache AirFlow в Google Colab с ngrok

Сегодня рассмотрим, как запустить Apache AirFlow на мощностях Google в интерактивной среде Colab и войти в веб-GUI этого фреймворка, создав туннель локального хоста на публичный URL с помощью утилиты ngrok. Запуск Apache AirFlow в Google Colab Хотя Google Colab является мощным облачным окружением для запуска и написания Python-кода, выполнение написанных...

Сложности применения CI/CD-подхода к потоковым конвейерам Apache NiFi

Почему DevOps-подходы не так просто внедрить в инженерию данных, что не так с реестром Apache NiFi и зачем расширять набор инструментов Toolkit собственным Java-приложением для автоматизированной миграции потоковых конвейеров в разные среды развертывания. Что не так с реестром Apache NiFi с точки зрения DevOps-инженера Изначально Apache NiFi был создан как...

5 полезных инструментов для работы с Apache AirFlow

Будучи популярным фреймворком для оркестрации пакетных процессов обработки Apache AirFlow образует вокруг себя целую экосистему. Сегодня познакомимся с некоторыми инструментами, которые пригодятся дата-инженеру для проектирования и отладки конвейеров данных: ADA, Ditto, Amundsen, gusty и Viewflow. Аналитика системных метрик Apache AirFlow с ADA и Amundsen ADA — это микросервис, созданный для...

Как построить надежную архитектуру конвейера обработки данных: обработка исключений

Сегодня поговорим о том, как обработка исключений позволяет спроектировать и реализовать надежную архитектуру конвейера обработки данных, включая ETL/ELT-процессы и их компоненты. Архитектура конвейеров обработки данных: ETL/ELT-процессы Наличие хорошо спроектированной инфраструктуры данных необходимо для получения максимальной отдачи от данных для data-driven управления. Поскольку данные постоянно увеличиваются в объеме, следует организовать управление...

3 уязвимости Apache NiFi в 2023 году

Подводим итоги нарушений информационной безопасности в Apache NiFi за первую половину 2023 года. Инъекции кода, десериализация недоверенных данных и  неправильное ограничение ссылок на внешние объекты XML. Какие уязвимости в Apache NiFi найдены и исправлены за первую половину 2023 года За 2023 год в Apache NiFi выявлено и исправлено всего 3...

Отладка конвейеров Apache AirFlow с on_failure_callback()

Как использовать функции обратного вызова для отладки конвейера обработки данных в Apache AirFlow, а также отправки оповещений об ошибках. Полезные примеры регистрации и мониторинга сбоев на уровне задачи и всего DAG с on_failure_callback(). Польза обратных вызовов Apache AirFlow на примере on_failure_callback По мере роста и усложнения конвейеров данных, построенных с...

Apache NiFi 1.22.0: что нового?

11 июня 2023 года вышел очередной релиз Apache NiFi. Разбираемся с главными новинками выпуска 1.22.0: улучшения, добавленные возможности и замененные компоненты. Главные новинки Apache NiFi 1.22.0: обзор июньского релиза Основные моменты выпуска 1.22.0 включают: Агенты MiNiFi теперь могут общаться с серверами C2, используя обратный прокси или балансировщик нагрузки. В то...

Apache AirFlow 2.6: что нового?

Недавно мы писали про устранение зависших в очереди задач в Apache AirFlow 2.6. Сегодня разберемся с другими новинками этого релиза, которые особенно важны для дата-инженера: настраиваемые поля DAG, добавление собственных уведомлений, управление ресурсами, кластеризация исполнителей Kubernetes и еще множество полезных возможностей. Главные новинки и исправления весенних выпусков Apache AirFlow в...

Шифрование потока данных в Apache NiFi

В этой статье для дата-инженеров поговорим про шифрование потока данных в Apache NiFi с помощью набора процессоров, поддерживающих спецификацию OpenPGP. Криптографическая защита целостности и конфиденциальности потока данных. Криптографические процессоры Apache NiFi Криптография является одним из наиболее распространенных методов защиты целостности и конфиденциальности данных с помощью шифрования и дешифрования. Сегодня чаще...