JOBS
Описание
Табличная функция, которая создает временную таблицу задач для просмотра информации о заданиях определенного типа.
Синтаксис
JOBS(
"type"="<type>"
)
Обязательные параметры
| Поле | Описание |
|---|---|
<type> | Тип задания: insert: задание вставки данных. mv: задание материализованного представления. |
Возвращаемое значение
-
jobs("type"="insert")Возвращаемое значение для заданий типа insertПоле Описание Id ID задания Name Имя задания Definer Пользователь, определивший задание ExecuteType Тип выполнения RecurringStrategy Стратегия повторения Status Состояние задания ExecuteSql Выполняемый SQL CreateTime Время создания задания SucceedTaskCount Количество успешно выполненных задач FailedTaskCount Количество задач, завершившихся с ошибкой CanceledTaskCount Количество отмененных задач Comment Комментарий к заданию Properties Свойства задания. Значение есть только у заданий с ExecuteType = STREAMINGCurrentOffset Смещение, до которого задание завершило обработку. Значение есть только у заданий с ExecuteType = STREAMINGEndOffset Наибольшее смещение, полученное заданием из источника данных. Значение есть только у заданий с ExecuteType = STREAMINGLoadStatistic Статистика загрузки данных для задания ErrorMsg Сообщение об ошибке выполнения задания JobRuntimeMsg Сообщение, сформированное во время выполнения задания LagBytes Объем необработанных данных в журнале на стороне источника (например, binlog MySQL или WAL PostgreSQL), в байтах. -1означает, что значение в данный момент недоступно, например для источника данных S3 или на этапе создания полного снимка.
Начиная с 4.1.4, этот столбец переименован изLag(в секундах) вLagBytes(в байтах)LastSourceEventTimestamp Временная метка (в секундах Unix) последнего события на стороне источника, записанного в смещении, зафиксированном заданием. Пустое значение означает, что информация недоступна. Добавлено в 4.1.4 LastTaskSuccessTime Время последнего успешного завершения задачи -
jobs("type"="mv")Возвращаемое значение для заданий типа MVПоле Описание Id ID задания. Для заданий MV соответствует tasks("type"="mv").JobId.Name Имя задания. Для заданий MV соответствует mv_infos("database"="...").JobNameиtasks("type"="mv").JobName.MvId ID материализованного представления, обслуживаемого этим заданием. MvName Имя материализованного представления, обслуживаемого этим заданием. MvDatabaseId ID базы данных, содержащей материализованное представление. MvDatabaseName Имя базы данных, содержащей материализованное представление. ExecuteType Тип выполнения задания. Для заданий MV возможны значения MANUALиRECURRING.MANUALозначает, что задачи обновления запускаются вручную, при фиксации транзакции или по внутренним событиям.RECURRINGозначает, что задачи обновления запускаются периодически по расписанию.RecurringStrategy Описание расписания, сформированное на основе ExecuteType.MANUAL TRIGGERозначает, что задание не запускается по таймеру.EVERY ... STARTS ... [ENDS ...]означает, что задание выполняется периодически.Status Состояние задания. Возможные значения: PENDINGозначает, что задание ожидает планирования;RUNNINGозначает, что задание может создавать задачи;PAUSEDозначает, что задание приостановлено и его можно возобновить;STOPPEDозначает, что задание остановлено и его нельзя возобновить;FINISHEDозначает, что задание завершено.CreateTime Время создания задания.
Поля перечислений заданий MV
При проверке заданий обновления материализованных представлений часто используются следующие поля перечислений:
ExecuteType: способ создания заданием задач обновления.MANUAL: задание не запускается по собственному таймеру. Задача создается только при запуске обновления вручную, при фиксации транзакции или по инициативе системы.RECURRING: задание выполняется по расписанию и периодически создает задачи обновления.
RecurringStrategy: правило расписания в удобочитаемом виде, сформированное на основеExecuteType.MANUAL TRIGGER: задание не выполняется периодически по расписанию. Это обычное значение, когдаExecuteTypeимеет значениеMANUAL.EVERY <interval> <unit> STARTS <time> [ENDS <time>]: задание выполняется периодически по расписанию. Например,EVERY 10 MINUTE STARTS 2025-01-17 14:42:53.
Status: текущее состояние самого задания.PENDING: задание ожидает планирования.RUNNING: задание активно и может создавать задачи обновления.PAUSED: задание приостановлено. Оно не будет создавать новые задачи обновления до возобновления.STOPPED: задание остановлено, и его нельзя возобновить.FINISHED: задание завершено. Для длительно работающих заданий обновления MV это состояние встречается редко, но может появляться в общем механизме выполнения заданий.
У каждого материализованного представления есть одно задание обновления, а одно задание обновления может создавать множество задач обновления. Используйте jobs("type"="mv").Name, чтобы связать задание с mv_infos("database"="...").JobName и tasks("type"="mv").JobName.
Примеры
Просмотр задания обновления материализованного представления.
select *
from jobs("type"="mv")
where MvDatabaseName = "test" and MvName = "mv1"\G
*************************** 1. row ***************************
Id: 19508
Name: inner_mtmv_19494
MvId: 19494
MvName: mv1
MvDatabaseId: 16016
MvDatabaseName: test
ExecuteType: MANUAL
RecurringStrategy: MANUAL TRIGGER
Status: RUNNING
CreateTime: 2025-01-07 22:13:31
В этом результате:
Id— ID задания обновления MV. Это то же значение, что иJobIdвtasks("type"="mv").Name— имя задания обновления MV. Это то же значение, что иJobNameвmv_infos("database"="test")иtasks("type"="mv").MvIdиMvNameидентифицируют материализованное представление, обслуживаемое этим заданием.MvDatabaseIdиMvDatabaseNameидентифицируют базу данных, содержащую материализованное представление.ExecuteTypeимеет значениеMANUAL, поэтому это задание не запускается по собственному таймеру. Задача обновления создается при обновлении материализованного представления вручную, при фиксации транзакции или по инициативе системы.RecurringStrategyимеет значениеMANUAL TRIGGER, что соответствуетExecuteType = MANUAL. Для материализованного представления с обновлением по расписанию это поле отображается какEVERY ... STARTS ....Statusимеет значениеRUNNING, поэтому задание может создавать задачи обновления. Если значение равноPAUSED, возобновите задание материализованного представления, чтобы оно могло создавать новые задачи.CreateTime— время создания этого задания обновления MV.
Чтобы просмотреть задачи, созданные этим заданием, используйте имя задания:
select *
from tasks("type"="mv")
where JobName = "inner_mtmv_19494"
order by CreateTime desc;
Просмотр всех заданий типа insert
select * from jobs("type"="insert");
+----------------+----------------+---------+-------------+--------------------------------------------+---------+--------------------------------------------------------------+---------------------+------------------+-----------------+-------------------+---------+
| Id | Name | Definer | ExecuteType | RecurringStrategy | Status | ExecuteSql | CreateTime | SucceedTaskCount | FailedTaskCount | CanceledTaskCount | Comment |
+----------------+----------------+---------+-------------+--------------------------------------------+---------+--------------------------------------------------------------+---------------------+------------------+-----------------+-------------------+---------+
| 78533940810334 | insert_tab_job | root | RECURRING | EVERY 10 MINUTE STARTS 2025-01-17 14:42:53 | RUNNING | INSERT INTO test.insert_tab SELECT * FROM test.example_table | 2025-01-17 14:32:53 | 0 | 0 | 0 | |
+----------------+----------------+---------+-------------+--------------------------------------------+---------+--------------------------------------------------------------+---------------------+------------------+-----------------+-------------------+---------+