DATA_ENGINEERETTE Telegram 471
Как мониторить подвисшие сенсоры?

Начнем с того, что в Airflow есть несколько состояний для таски:

⭐️none - пока отдыхает
⭐️scheduled - должна быть запущена, все зависимости выполнены
⭐️queued - ждет свободный воркер
⭐️running - работает
⭐️success - успешно завершилась
⭐️restarting - перезапустили
⭐️failed - упала
⭐️skipped - пропущена
⭐️upstream_failed - упала предыдущая таска, которая нам нужна
⭐️up_for_retry - упала, но будет перезапущена
⭐️up_for_reschedule - сенсор будет перезапущен
⭐️deferred - отложена и ждет триггер
⭐️removed - удалена из дага после запуска

Подвисшие сенсоры уходят в статус deferred. У нас они имеют такой нейминг - mytask_awaiting_somedag. Я написала себе запрос, который выводит:

⭕️название дага, на который смотрит сенсор
⭕️количество сенсоров, которые ждут этот даг
⭕️общее количество подвисших сенсоров

И так можно сразу понять, на какой даг смотрит наибольшее количество сенсоров, и посмотреть причину


with sensored as (
SELECT
substr(
task_id,
strpos(task_id, 'awaiting_') + length('awaiting_')
) as sensor,
dag_id
FROM airflow.public.task_instance
WHERE state = 'deferred'
)
select
sensor,
count(1) over(partition by sensor) as sensor_cnt,
count(1) over() as total_cnt,
dag_id
from sensored
order by 2 desc, sensor, dag_id;
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍18🔥65



tgoop.com/data_engineerette/471
Create:
Last Update:

Как мониторить подвисшие сенсоры?

Начнем с того, что в Airflow есть несколько состояний для таски:

⭐️none - пока отдыхает
⭐️scheduled - должна быть запущена, все зависимости выполнены
⭐️queued - ждет свободный воркер
⭐️running - работает
⭐️success - успешно завершилась
⭐️restarting - перезапустили
⭐️failed - упала
⭐️skipped - пропущена
⭐️upstream_failed - упала предыдущая таска, которая нам нужна
⭐️up_for_retry - упала, но будет перезапущена
⭐️up_for_reschedule - сенсор будет перезапущен
⭐️deferred - отложена и ждет триггер
⭐️removed - удалена из дага после запуска

Подвисшие сенсоры уходят в статус deferred. У нас они имеют такой нейминг - mytask_awaiting_somedag. Я написала себе запрос, который выводит:

⭕️название дага, на который смотрит сенсор
⭕️количество сенсоров, которые ждут этот даг
⭕️общее количество подвисших сенсоров

И так можно сразу понять, на какой даг смотрит наибольшее количество сенсоров, и посмотреть причину


with sensored as (
SELECT
substr(
task_id,
strpos(task_id, 'awaiting_') + length('awaiting_')
) as sensor,
dag_id
FROM airflow.public.task_instance
WHERE state = 'deferred'
)
select
sensor,
count(1) over(partition by sensor) as sensor_cnt,
count(1) over() as total_cnt,
dag_id
from sensored
order by 2 desc, sensor, dag_id;

BY дата инженеретта




Share with your friend now:
tgoop.com/data_engineerette/471

View MORE
Open in Telegram


Telegram News

Date: |

best-secure-messaging-apps-shutterstock-1892950018.jpg The channel also called on people to turn out for illegal assemblies and listed the things that participants should bring along with them, showing prior planning was in the works for riots. The messages also incited people to hurl toxic gas bombs at police and MTR stations, he added. Step-by-step tutorial on desktop: The main design elements of your Telegram channel include a name, bio (brief description), and avatar. Your bio should be: Select: Settings – Manage Channel – Administrators – Add administrator. From your list of subscribers, select the correct user. A new window will appear on the screen. Check the rights you’re willing to give to your administrator.
from us


Telegram дата инженеретта
FROM American