Перейти к содержимому
Последнее обновление

JOBS

Описание​

Табличная функция, которая создаёт временную таблицу задач для просмотра сведений о заданиях определённого типа.

Синтаксис​

JOBS(
"type"="<type>"
)

Параметры​

ПараметрОписание
<type>Тип задания:
insert: задание типа Insert into.
mv: задание материализованного представления.

Возвращаемое значение​

Эта табличная функция возвращает ноль или более строк. Сама функция не возвращает NULL. Отдельные поля могут быть пустыми или содержать NULL, если соответствующие метаданные недоступны.

  • jobs("type"="insert") Возвращаемые значения для заданий типа insert

    ПараметрОписание
    IdИдентификатор задания
    NameИмя задания
    DefinerПользователь, определивший задание
    ExecuteTypeТип выполнения
    RecurringStrategyПравило периодического запуска
    StatusСтатус задания
    ExecuteSqlВыполняемый SQL
    CreateTimeВремя создания задания
    SucceedTaskCountКоличество успешно выполненных задач
    FailedTaskCountКоличество задач, завершившихся с ошибкой
    CanceledTaskCountКоличество отменённых задач
    CommentКомментарий к заданию
    PropertiesСвойства задания. Значение есть только у заданий с ExecuteType = STREAMING
    CurrentOffsetСмещение, до которого задание завершило обработку. Значение есть только у заданий с ExecuteType = STREAMING
    EndOffsetНаибольшее смещение, полученное заданием из источника данных. Значение есть только у заданий с ExecuteType = STREAMING
    LoadStatisticСтатистика загрузки данных для задания
    ErrorMsgСообщение об ошибке выполнения задания
    JobRuntimeMsgСообщение, формируемое во время выполнения задания
    LagBytesОбъём отставания по журналу на стороне источника в байтах (например, MySQL binlog или PostgreSQL WAL). -1 означает, что значение в данный момент недоступно, например для источника данных S3 или на этапе создания полного снимка.
    Начиная с 4.1.4, этот столбец переименован из Lag (в секундах) в LagBytes (в байтах)
    LastSourceEventTimestampМетка времени (в секундах Unix) последнего события на стороне источника, соответствующего смещению, зафиксированному заданием. Пустое значение означает, что информация недоступна. Добавлено в 4.1.4
    LastTaskSuccessTimeВремя последнего успешного завершения задачи
  • jobs("type"="mv") Возвращаемые значения для заданий типа MV

    ПараметрОписание
    IdИдентификатор задания. Для заданий MV соответствует tasks("type"="mv").JobId.
    NameИмя задания. Для заданий MV соответствует mv_infos("database"="...").JobName и tasks("type"="mv").JobName.
    MvIdИдентификатор материализованного представления, обслуживаемого этим заданием.
    MvNameИмя материализованного представления, обслуживаемого этим заданием.
    MvDatabaseIdИдентификатор базы данных, содержащей материализованное представление.
    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 содержит идентификатор задания обновления 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 TaskId, JobName, MvName, Status, CreateTime, FinishTime
from tasks("type"="mv")
where JobName = "inner_mtmv_19494"
order by CreateTime desc;
+-----------------+------------------+--------+---------+---------------------+---------------------+
| TaskId | JobName | MvName | Status | CreateTime | FinishTime |
+-----------------+------------------+--------+---------+---------------------+---------------------+
| 437156301250803 | inner_mtmv_19494 | mv1 | SUCCESS | 2025-01-07 22:13:48 | 2025-01-07 22:17:45 |
+-----------------+------------------+--------+---------+---------------------+---------------------+

Просмотр всех заданий вставки данных

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 | |
+----------------+----------------+---------+-------------+--------------------------------------------+---------+--------------------------------------------------------------+---------------------+------------------+-----------------+-------------------+---------+