Удаленные исполнители задач Apache AirFlow: Celery vs Kubernetes

Мы уже делали краткий обзор некоторых исполнителей задач Apache AirFlow. Сегодня рассмотрим более подробно механизмы запуска удаленных задач и разберемся, чем Celery Executor отличается от CeleryKubernetes Executor и как они работают. Виды и назначение исполнителей Apache AirFlow Напомним, Apache AirFlow состоит из нескольких компонентов: Веб-сервер, предоставляющий GUI для настройки DAG...

Как тестировать конвейеры Apache NiFi: приемы и инструменты

В этой статье для обучения дата-инженеров поговорим про тестирование потоковых конвейеров обработки данных в Apache NiFi. Утилиты, классы и сервисы для проверки правильной работы процессоров, контроллеров и потоков. Модульное тестирование процессоров Apache NiFi Обычно тестирование компонентов крупной инфраструктуры не самая простая задача. В Apache NiFi проверка корректности обработки потоков данных...

Flink + dbt: разбор адаптера для SQL-конвейеров от GetInData

Недавно мы писали про использование AirFlow для оркестрации dbt-конвейеров. Сегодня познакомимся с адаптером dbt-flink, который позволяет запускать SQL-конвейеры в проекте dbt на Apache Flink. Зачем нужен адаптер dbt к Apache Flink и как он работает В аналитике данных огромную роль играет эффективный, стабильный и надежный ETL-процесс, реализовать который можно с...

Зачем и как совмещать dbt с Apache AirFlow?

Что такое dbt, чем полезен этот инструмент для анализа и инженерии данных, зачем переносить в него бизнес-логику обработки данных и представлять эти задачи в DAG-конвейере Apache AirFlow. Python и SQL для анализа данных и дата-инженерии: versus или вместе? Распил крупных монолитных систем на множество автономных взаимодействующих друг с другом приложений...

Обработка JSON-данных в Apache NiFi с JOLT-преобразованиями

В этой статье для обучения дата-инженеров и разработчиков ETL-конвейеров на Apache NiFi рассмотрим, как преобразовать JSON-документы с помощью реализации JOLT-библиотеки в процессорах JOLTTransformJSON и JOLTTransformRecord. Что такое JOLT и как это работает Человекочитаемый формат JSON активно используется для представления пакетных и потоковых данных. Он легковеснее XML и прост для понимания,...

Вперед в прошлое: backfill для DAG в Apache AirFlow

Что такое backfill в Apache AirFlow и зачем дата-инженеру запускать эту команду CLI-интерфейса при управлении DAG. Разбираемся с параметрами, возможностями и исключениями. Что такое backfill в Apache AirFlow и чем это полезно при управлении DAG Иногда при управлении конвейерами обработки данных в Apache AirFlow дата-инженеру необходимо вернуться в прошлое, чтобы...

Apache NiFi 1.20 от 9 февраля 2023 года: обзор новинок

9 февраля 2023 года опубликован очередной выпуск Apache NiFi. Разбираемся, что нового в релизе 1.20, какие появились процессоры для потокового приема и обработки данных, как устранена уязвимость CVE-2023-22832 и зачем нужны очередные изменения в функциях внутренних языков NiFi. Исправленные ошибки в Apache NiFi 1.20 В свежем выпуске Apache NiFi 1.20...

Безопасный обмен большими данными с открытым протоколом Delta Sharing

Что такое Delta Sharing, зачем нужен и как устроен этот открытый стандарт, а также как его использовать для централизованного управления доступом к данным в архитектуре Data Mesh. Что такое Delta Sharing и при чем здесь Data Lake Чтобы упростить обмен большими данными между разными компаниями в режиме реального времени и...

Тонкости управления задачами в Apache AirFlow: лайфхаки для дата-инженера

Как установить и отследить в Apache AirFlow зависимости экземпляров задач друг от друга, узнать о запуске конкретной задачи в DAG, использовать обратные вызовы и правила триггеров, а также шаблоны и макросы Jinja. Полезные примеры управления ETL-конвейерами для дата-инженера в GUI и CLI-интерфейсах. Как узнать время запуска последнего экземпляра задачи? Будучи...

Обработка ошибок в Apache NiFi

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

Зачем вам CDF или как упростить CDC-конвейер для Delta Lake

Как реализовать CDC для Delta Lake: разбираемся с функцией Change Data Feed от Databricks, которая позволяет быстро узнать обо всех изменениях строк в дельта-таблицах озера данных. Польза и принципы работы CDF для дата-инженера и архитектора данных. CDC для Delta Lake Идея сбора и обработки не всего объема данных, а только...

ТОП-7 практик работы с DAG в Apache AirFlow для дата-инженера

Чтобы сделать наши курсы для дата-инженеров еще более интересными, сегодня рассмотрим несколько лучших практик разработки DAG в Apache AirFlow, а также поговорим про операторы, которые обеспечивают повторное использование и настраиваемый запуск задач в конвейере обработки данных. Еще 7 полезных практик работы с Apache AirFlow для дата-инженера В дополнению к тегированию...

Что такое RecordPath в Apache NiFi и как дата-инженеру работать с ним

Сегодня познакомимся с еще одним полезным инструментом Apache NiFi: как использовать предметно-ориентированный язык RecordPath, чтобы получить доступ к полям записи. Смотрим на примере процессора UpdateRecord. Что такое RecordPath в Apache NiFi Apache NiFi имеет множество готовых процессоров, способных принимать, обрабатывать, маршрутизировать, преобразовывать и доставлять данные любого формата и размера благодаря...

Целостность и качество данных: ACID и транзакции в мире Big Data

Чем целостность данных отличается от их качества и как реализуются ACID-свойства распределенных транзакций в Big Data системах. Разбираем понятия и технологии, важные для обучения ИТ-архитекторов и дата-инженеров. Целостность и качество данных: versus или вместе? Целостность данных и качество данных — связанные, но разные понятия, важные для дата-инженера. Целостность описывает точность...

Советы дата-инженеру: теги DAG в Apache AirFlow и качество конвейера данных

Зачем маркировать DAG в Apache AirFlow тегами, как их задать и где это пригодится дата-инженеру. А также еще разберем, какими свойствами должен обладать хорошо спроектированный конвейер обработки данных и как они улучшают их качество. Тегирование DAG в Apache AirFlow Когда дата-инженер работает с несколькими конвейерами данных, помнить все зависимости между...

CDC -конвейер на Apache NiFi: ETL для изменений в данных

В этой статье для обучения дата-инженеров рассмотрим, как организовать сбор измененных данных из реляционных СУБД, построив CDC-конвейер с помощью Apache NiFi. А также разберем, зачем процессоры этого потокового ETL-маршрутизатора используют технологию веб-хуков. ETL-конвейер для DWH и Data Lake В общем случае сбор данных из реляционных и нереляционных источников и построение...

CDC для ETL-процессов в озеро данных: принципы работы, паттерны и ограничения

Захват измененных данных считается довольно известным паттерном организации ETL-процессов для корпоративных хранилищ и озер данных. Как реализуется CDC-технология, по каким шаблонам, что их ограничивает и чем опасен дрейф изменений в Change Data Capture. Паттерны и принципы реализации захвата измененных данных Эффективность эксплуатации озера данных зависит от ETL-процессов, поскольку объемы данных...

Зомби-задачи в Apache AirFlow: как их обнаружить и убить окончательно

Хотя Apache AirFlow считается достаточно зрелой платформой оркестрации рабочих процессов, при практическом использовании этого фреймворка дата-инженер может столкнуться с некоторыми сложностями. Одной из таких проблем являются так называемые «зомби-задачи». Разбираемся, чем они опасны, и как от них избавиться. Что такое зомби-задачи и чем они опасны В Unix-подобных операционных системах есть...

3 репозитория Apache NiFi

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

5 способов организовать динамическое изменение DAG в Apache AirFlow

При том, что чаще всего дата-инженер работает со статическими DAG в Apache AirFlow, иногда возникает необходимость динамически менять цепочку задач пакетного конвейера обработки данных. Разбираемся, как это сделать, а также смотрим, какие достоинства и недостатки имеет каждый из 5 возможных способов. Как организовать динамическое изменение DAG в Apache AirFlow: 5...