TASKS
Описание
Табличная функция, создающая временную таблицу задач для просмотра информации о задачах, созданных заданиями в текущем кластере Doris.
Синтаксис
TASKS(
"type"="<type>"
)
Обязательные параметры
| Поле | Описание |
|---|---|
<type> | Тип задачи: insert: задача типа insert into. mv: задача обновления материализованного представления. |
Возвращаемое значение
-
tasks("type"="insert")возвращаемое значение для задач типа insertИмя поля Описание TaskId ID задачи JobId ID задания JobName Имя задания Label Метка Status Статус задачи ErrorMsg Информация об ошибке задачи CreateTime Время создания задачи FinishTime Время завершения задачи TrackingUrl URL для отслеживания LoadStatistic Статистика загрузки User Пользователь -
tasks("type"="mv")возвращаемое значение для задач типа MVИмя поля Описание TaskId Уникальный ID задачи обновления. При каждом обновлении материализованного представления создаётся новая запись задачи. JobId ID задания, создавшего эту задачу. Соответствует jobs("type"="mv").Id.JobName Имя задания, создавшего эту задачу. Соответствует mv_infos("database"="...").JobNameиjobs("type"="mv").Name.MvId ID материализованного представления, которое обновляет эта задача. MvName Имя материализованного представления, которое обновляет эта задача. MvDatabaseId ID базы данных, содержащей материализованное представление. MvDatabaseName Имя базы данных, содержащей материализованное представление. Status Статус задачи. Возможные значения: PENDINGозначает, что задача ожидает запуска;RUNNINGозначает, что задача выполняется;SUCCESSозначает, что задача успешно завершена;FAILEDозначает, что задача завершилась с ошибкой;CANCELEDозначает, что задача отменена.ErrorMsg Сообщение об ошибке, если Statusимеет значениеFAILEDилиCANCELED. Пустое значение при успешном завершении задачи.CreateTime Время создания записи задачи. StartTime Время начала выполнения задачи. Может иметь значение \N, если задача ещё не запущена.FinishTime Время завершения задачи. Может иметь значение \N, если задача ещё ожидает запуска или выполняется.DurationMs Продолжительность выполнения в миллисекундах, вычисляемая как FinishTime - StartTime. Может иметь значение\N, если задача ещё не завершена.TaskContext Строка JSON, описывающая, как была запущена задача и что запросил пользователь. Обычно содержит поля triggerMode,partitionsиisComplete. ПолеtriggerModeпринимает значенияMANUAL,COMMITиSYSTEM.RefreshMode Фактический объём обновления, определённый этой задачей. Возможные значения: COMPLETEозначает, что обновлены все разделы материализованного представления;PARTIALозначает, что обновлена только часть разделов;NOT_REFRESHозначает, что ни один раздел не требовал обновления.NeedRefreshPartitions Массив JSON с разделами материализованного представления, которые требовали обновления в этой задаче. Пустой массив означает, что ни один раздел не требовал обновления. CompletedPartitions Массив JSON с разделами, которые были успешно обновлены. Сравните его с NeedRefreshPartitions, чтобы проверить, завершено ли обновление всех требуемых разделов.Progress Ход обновления в формате percentage (completed/total), например100.00% (1/1). Может иметь значение\N, если нет разделов для обновления.LastQueryId ID запроса SQL, выполненного задачей обновления. Используйте этот ID для поиска в журналах FE или BE при диагностике ошибок задачи. Может быть пустым, если SQL для обновления не выполнялся. Это поле поддерживается начиная с Doris 3.0.0. ComputeGroup Compute Group, которую использовала задача обновления. Поле может быть пустым, если группа не указана или развёртывание не предусматривает разделения вычислений и хранения. IvmFallbackReason Стабильный код причины, записываемый, когда IVM не может выполняться и происходит переход к резервному способу обновления либо когда строгое обновление IVM завершается ошибкой. Пустое значение, если перехода к резервному способу обновления IVM не было. IvmRebuiltPartitions Количество разделов материализованного представления IVM, которые были полностью перестроены при этом обновлении, хотя запрос на обновление не требовал перестроения: представление обновлялось впервые или его базовое состояние стало недействительным. Значение равно 0, если было запрошено обновление COMPLETEили материализованное представление не использует IVM. Условия, при которых это происходит, описаны в разделе Первое обновление и перестроение базового состояния.
Поля перечислений задач MV
При проверке задач обновления материализованных представлений часто используются следующие поля перечислений:
Status: состояние задачи на протяжении её жизненного цикла.PENDING: задача создана, но её выполнение ещё не началось. Она ожидает планирования или выделения ресурсов.RUNNING: задача выполняется.SUCCESS: задача успешно завершена.FAILED: задача завершилась с ошибкой. Сначала проверьтеErrorMsg, а затем используйтеLastQueryIdдля поиска в журналах, если это поле не пустое.CANCELED: задача была отменена до завершения.
TaskContext.triggerMode: причина создания задачи.MANUAL: задача создана командой ручного обновления, напримерREFRESH MATERIALIZED VIEW.COMMIT: задача создана, поскольку изменения данных в связанных базовых таблицах вызвали обновление.SYSTEM: задача создана внутренним действием системы, например для первоначального построения материализованного представления, созданного с немедленным построением.
TaskContext.isComplete: указывает, запрашивается ли полное обновление.true: запрос предписывает Doris обновить все разделы материализованного представления.false: запрос не требует обязательного полного обновления. Doris может определить фактический объём обновления на основе актуальности разделов.
TaskContext.refreshMode: способ обновления, запрошенный пользователем:AUTO,COMPLETE,PARTITIONSилиINCREMENTAL. У старых задач это поле может отсутствовать.TaskContext.af: указывает, разрешён ли переход к резервному способу обновления; соответствуетFALLBACK. Это поле также может отображаться под совместимым именемallowFallback; у старых задач оно может отсутствовать.RefreshMode: фактический объём обновления, выбранный задачей после проверки разделов.COMPLETE: для обновления выбраны все разделы материализованного представления, принадлежащие этому MV.PARTIAL: для обновления выбрана только часть разделов материализованного представления.NOT_REFRESH: ни один раздел не требовал обновления. В этом случаеNeedRefreshPartitionsобычно содержит пустой массив, аProgressможет иметь значение\N.
IvmFallbackReason: причина перехода к резервному способу обновления на этапе предварительного выполнения IVM или ошибки строгого инкрементального обновления, напримерSTREAM_UNSUPPORTED,MIN_MAX_BOUNDARY_HIT,BITMAP_AGG_DELETEилиPLAN_SIGNATURE_MISMATCH. Сведения о диагностике приведены в разделе Инкрементальное обслуживание представлений (IVM).
LastQueryId поддерживается начиная с Doris 3.0.0. В Doris 2.1.x это поле недоступно.
Примеры
Просмотр последней задачи обновления материализованного представления.
select *
from tasks("type"="mv")
where MvDatabaseName = "test" and MvName = "mv1"
order by CreateTime desc
limit 1\G
*************************** 1. row ***************************
TaskId: 437156301250803
JobId: 19508
JobName: inner_mtmv_19494
MvId: 19494
MvName: mv1
MvDatabaseId: 16016
MvDatabaseName: test
Status: SUCCESS
ErrorMsg:
CreateTime: 2025-01-07 22:13:48
StartTime: 2025-01-07 22:13:48
FinishTime: 2025-01-07 22:17:45
DurationMs: 236985
TaskContext: {"triggerMode":"MANUAL","partitions":[],"isComplete":false}
RefreshMode: COMPLETE
NeedRefreshPartitions: ["p_20210101_MAXVALUE","p_20200101_20210101"]
CompletedPartitions: ["p_20210101_MAXVALUE","p_20200101_20210101"]
Progress: 100.00% (2/2)
LastQueryId: 7965b4ddce8a4480-8884e9701679c1c4
ComputeGroup: \N
IvmFallbackReason: \N
IvmRebuiltPartitions: 0
В этом результате:
TaskIdидентифицирует это выполнение обновления. При каждом обновлении он отличается.JobIdиJobNameидентифицируют задание обновления MV. Информацию о задании можно получить запросомselect * from jobs("type"="mv") where Name = "inner_mtmv_19494";.MvId,MvName,MvDatabaseIdиMvDatabaseNameидентифицируют материализованное представление, обновлённое задачей.Statusимеет значениеSUCCESS, то есть задача успешно завершена. Если значение равноFAILED, сначала проверьтеErrorMsg.CreateTime,StartTime,FinishTimeиDurationMsпоказывают время создания задачи, время начала и окончания её выполнения, а также продолжительность выполнения.TaskContextпоказывает, что задача была запущена вручную. Значениеpartitions: []означает, что пользователь не указал список разделов в команде обновления.RefreshModeимеет значениеCOMPLETE, то есть эта задача обновила все разделы материализованного представления, требовавшие обновления.NeedRefreshPartitionsсодержит два раздела, требовавших обновления, аCompletedPartitionsсодержит те же два раздела, то есть обновление всех требуемых разделов завершено.Progressимеет значение100.00% (2/2), что также означает завершение обновления двух из двух требуемых разделов.LastQueryIdсодержит ID запроса SQL, выполнявшего обновление. Используйте его для поиска в журналах Doris, если задача завершается с ошибкой или выполняется медленно.ComputeGroupсодержит пустое значение, то есть в этом примере выделенная Compute Group не была записана.IvmFallbackReasonсодержит пустое значение, то есть в этой задаче не было перехода к резервному способу обновления IVM.IvmRebuiltPartitionsимеет значение 0, то есть эта задача не перестраивала дополнительные разделы.
Количество сохраняемых и отображаемых записей задач регулируется параметром конфигурации FE max_persistence_task_count. Значение по умолчанию равно 100. Когда количество записей задач превышает этот предел, старые записи удаляются. Если значение меньше 1, записи задач не сохраняются. После изменения этого параметра перезапустите FE.
Просмотр всех задач вставки
select * from tasks("type"="insert");
+----------------+----------------+----------------+-------------------------------+---------+----------+---------------------+---------------------+---------------------+-------------+---------------+------+
| TaskId | JobId | JobName | Label | Status | ErrorMsg | CreateTime | StartTime | FinishTime | TrackingUrl | LoadStatistic | User |
+----------------+----------------+----------------+-------------------------------+---------+----------+---------------------+---------------------+---------------------+-------------+---------------+------+
| 79133848479750 | 78533940810334 | insert_tab_job | 78533940810334_79133848479750 | SUCCESS | | 2025-01-17 14:42:54 | 2025-01-17 14:42:54 | 2025-01-17 14:42:54 | | | root |
+----------------+----------------+----------------+-------------------------------+---------+----------+---------------------+---------------------+---------------------+-------------+---------------+------+