Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Что такое Apache Airflow и для каких задач он используется?
Apache Airflow — это инструмент для оркестрации задач и workflow. Он позволяет описывать цепочки задач в виде кода и управлять их выполнением. Airflow часто используют для ETL-пайплайнов, аналитических расчётов и периодических задач. Он не выполняет работу сам, а управляет её запуском и порядком. Основное преимущество Airflow — прозрачность и управляемость процессов.
Из каких основных компонентов состоит Airflow?
Airflow состоит из нескольких ключевых компонентов: scheduler, webserver, metadata database и executor. Scheduler решает, какие задачи и когда запускать. Webserver предоставляет интерфейс для мониторинга и управления. Metadata database хранит состояние DAG и задач. Executor отвечает за фактическое выполнение задач.
Что такое DAG в Airflow?
DAG в Airflow — это описание workflow в виде направленного ациклического графа. Он определяет задачи и зависимости между ними. DAG описывается кодом на Python. Airflow использует DAG, чтобы понимать порядок выполнения задач. Циклы в DAG запрещены.
Что такое оператор в Airflow и какую роль он выполняет?
Оператор в Airflow — это шаблон для выполнения конкретного действия. Он описывает, что именно нужно сделать: запустить Python-код, выполнить SQL или вызвать API. Задача создаётся на основе оператора внутри DAG. Один оператор можно использовать много раз. Оператор не управляет порядком выполнения — этим занимается DAG.
Какие типы операторов существуют в Airflow?
В Airflow существуют операторы для выполнения кода, работы с базами данных, взаимодействия с внешними сервисами и управления зависимостями. Самые базовые — PythonOperator, BashOperator и SQL-операторы. Есть операторы для облачных сервисов и Kubernetes. Также существуют специальные операторы для управления workflow. Обычно выбирают самый простой оператор, который решает задачу.
Что такое сенсоры в Airflow?
Как реализуется собственный сенсор в Airflow?
Как передать данные между задачами в Airflow?
Рейтинг:
5
Сложность:
6
Сенсоры в Airflow — это специальные операторы, которые ждут наступления определённого условия. Они могут ожидать файл, запись в базе данных или завершение внешней задачи. Сенсор периодически проверяет условие до тех пор, пока оно не выполнится или не истечёт таймаут. После этого DAG продолжает выполнение. Сенсоры часто используются для синхронизации пайплайнов.
Рейтинг:
4
Сложность:
8
Собственный сенсор создаётся путём наследования от BaseSensorOperator. В нём реализуется метод poke, который проверяет условие. Airflow вызывает этот метод с заданным интервалом. Для асинхронной версии используется deferrable-модель и триггеры. Такой подход позволяет реализовать ожидание любых внешних условий.
Рейтинг:
5
Сложность:
5
В Airflow задачи не передают данные напрямую друг другу. Для этого используется специальный механизм XCom. Одна задача может сохранить данные, а другая — прочитать их. Такой подход позволяет сохранять изоляцию задач. Однако XCom предназначен только для небольших объёмов данных.
Рейтинг:
5
Сложность:
5
Рейтинг:
5
Сложность:
6
Рейтинг:
5
Сложность:
5
Рейтинг:
5
Сложность:
5
Рейтинг:
4
Сложность:
6