PYTHON Flashcards

(4 cards)

1
Q

Операторы

A
  1. PythonOperator
    Для чего: Выполнение пользовательской Python-логики (ETL, обработка данных, вызов API)
  2. BashOperator
    Для чего: Запуск shell-команд и скриптов (запуск Spark, SQL-скриптов)
  3. SQL-операторы (PostgresOperator, BigQueryOperator и др.)
    Для чего: Выполнение SQL-запросов в БД
  4. Sensor’ы (FileSensor, S3KeySensor)
    Для чего: Ожидание появления файлов/данных перед запуском DAG
  5. DbtOperator (из airflow-dbt)
    Для чего: Оркестрация dbt-моделей
  6. SparkSubmitOperator
    Для чего: Запуск Spark-приложений
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Декораторы в питоне

A

позволяют расширять и изменять поведение вызываемых объектов (функций, методов и классов) без постоянного изменения самого вызываемого объекта.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Есть даг в котором много тасков, которые запускаются одновременно, со временем это стало медленно работать. Что нужно сделать чтобы ускорить процесс работы, без выноса тасков в другой даг

A
  1. Оптимизация параллелизма
    Увеличьте ресурсы воркеров:
  2. Оптимизация зависимостей
    Рефакторинг графа зависимостей:
  3. Использование пулов (Pools)
    python
  4. Оптимизация времени выполнения задач
    Кеширование результатов: Используйте XCom с backend=Redis или внешние хранилища (S3)

Ускорение старта: Используйте легковесные операторы вместо тяжелых PythonOperator

Асинхронные операции: Для HTTP-запросов используйте aiohttp в PythonOperator

  1. Настройка очередей
    python
  2. Оптимизация метаданных
    Включите DAG Serialization:
  3. Использование сенсоров
    python
  4. Оптимизация расписания
    python
  5. Шардинг данных
    Параллельная обработка частей данных:
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly