PYTHON Flashcards
(4 cards)
1
Q
Операторы
A
- PythonOperator
Для чего: Выполнение пользовательской Python-логики (ETL, обработка данных, вызов API) - BashOperator
Для чего: Запуск shell-команд и скриптов (запуск Spark, SQL-скриптов) - SQL-операторы (PostgresOperator, BigQueryOperator и др.)
Для чего: Выполнение SQL-запросов в БД - Sensor’ы (FileSensor, S3KeySensor)
Для чего: Ожидание появления файлов/данных перед запуском DAG - DbtOperator (из airflow-dbt)
Для чего: Оркестрация dbt-моделей - SparkSubmitOperator
Для чего: Запуск Spark-приложений
2
Q
Декораторы в питоне
A
позволяют расширять и изменять поведение вызываемых объектов (функций, методов и классов) без постоянного изменения самого вызываемого объекта.
3
Q
Есть даг в котором много тасков, которые запускаются одновременно, со временем это стало медленно работать. Что нужно сделать чтобы ускорить процесс работы, без выноса тасков в другой даг
A
- Оптимизация параллелизма
Увеличьте ресурсы воркеров: - Оптимизация зависимостей
Рефакторинг графа зависимостей: - Использование пулов (Pools)
python - Оптимизация времени выполнения задач
Кеширование результатов: Используйте XCom с backend=Redis или внешние хранилища (S3)
Ускорение старта: Используйте легковесные операторы вместо тяжелых PythonOperator
Асинхронные операции: Для HTTP-запросов используйте aiohttp в PythonOperator
- Настройка очередей
python - Оптимизация метаданных
Включите DAG Serialization: - Использование сенсоров
python - Оптимизация расписания
python - Шардинг данных
Параллельная обработка частей данных:
4
Q
A