TASKS
Описание
Табличная функция, создающая временную таблицу задач, которая позволяет просматривать сведения о задачах, созданных заданиями в текущем кластере Doris.
Синтаксис
TASKS(
"type"="<type>"
)
Параметры
| Параметр | Описание |
|---|---|
<type> | Тип задачи: insert: задача типа insert into. mv: задача материализованного представления. |
Возвращаемое значение
Эта табличная функция возвращает ноль или более строк. Сама функция не возвращает NULL. Отдельные поля могут быть пустыми или содержать NULL либо \N, если соответствующие метаданные задачи недоступны.
-
tasks("type"="insert"): возвращаемые значения для задач типа insertИмя поля Описание TaskId Идентификатор задачи JobId Идентификатор задания JobName Имя задания Label Метка Status Состояние задачи ErrorMsg Сведения об ошибке задачи CreateTime Время создания задачи FinishTime Время завершения задачи TrackingUrl URL для отслеживания LoadStatistic Статистика загрузки User Пользователь -
tasks("type"="mv"): возвращаемые значения для задач типа MVИмя поля Описание TaskId Уникальный идентификатор задачи обновления. При каждом обновлении материализованного представления создаётся новая запись задачи. JobId Идентификатор задания, создавшего эту задачу. Соответствует jobs("type"="mv").Id.JobName Имя задания, создавшего эту задачу. Соответствует mv_infos("database"="...").JobNameиjobs("type"="mv").Name.MvId Идентификатор материализованного представления, обновляемого этой задачей. MvName Имя материализованного представления, обновляемого этой задачей. MvDatabaseId Идентификатор базы данных, содержащей материализованное представление. 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 Идентификатор запроса SQL, выполненного задачей обновления. Используйте этот идентификатор для поиска в журналах FE или BE при диагностике сбоев задач. Может быть пустым, если SQL для обновления не выполнялся. Это поле поддерживается начиная с Doris 3.0.0.
Поля задач MV с перечисляемыми значениями
Следующие поля с перечисляемыми значениями часто используются при проверке задач обновления материализованных представлений:
Status: состояние задачи в её жизненном цикле.PENDING: задача создана, но ещё не запущена. Она ожидает планирования или выделения ресурсов.RUNNING: задача выполняется.SUCCESS: задача успешно завершена.FAILED: задача завершилась с ошибкой. Сначала проверьтеErrorMsg, затем используйтеLastQueryIdдля поиска в журналах, если это поле не пустое.CANCELED: задача отменена до завершения.
TaskContext.triggerMode: причина создания задачи.MANUAL: создана командой ручного обновления, напримерREFRESH MATERIALIZED VIEW.COMMIT: создана из-за изменений данных в связанных базовых таблицах, которые вызвали обновление.SYSTEM: создана внутренним действием системы, например при первоначальном построении материализованного представления, созданного с немедленным построением.
TaskContext.isComplete: запрошено ли полное обновление.true: запрос предписывает Doris обновить все партиции материализованного представления.false: запрос не требует принудительного полного обновления. Doris может определить фактический охват обновления на основе актуальности партиций.
RefreshMode: фактический охват обновления, выбранный задачей после проверки партиций.COMPLETE: для обновления выбраны все партиции материализованного представления, принадлежащие MV.PARTIAL: для обновления выбраны лишь некоторые партиции материализованного представления.NOT_REFRESH: ни одна партиция не требовала обновления. В этом случаеNeedRefreshPartitionsобычно пуст, аProgressможет содержать\N.
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
В этом результате:
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содержит идентификатор запроса SQL для обновления. Используйте его для поиска в журналах Doris, если задача завершается с ошибкой или выполняется медленно.
Количество сохраняемых и отображаемых записей задач определяется параметром конфигурации 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 |
+----------------+----------------+----------------+-------------------------------+---------+----------+---------------------+---------------------+---------------------+-------------+---------------+------+