본문으로 건너뛰기
최종 수정: 에

routine_load_job

개요​

Routine Load 작업 정보를 조회하는 데 사용됩니다.

데이터베이스 및 테이블​

information_schema.routine_load_jobs

테이블 정보​

열 이름타입설명예시
JOB_IDtextDoris가 생성한 작업 ID.12025
JOB_NAMEtextRoutine Load 작업 이름.example_routine_load
CREATE_TIMEtext작업 생성 시간.2024-01-15 08:12:42
PAUSE_TIMEtext작업이 가장 최근에 일시 중지된 시간. 작업이 일시 중지된 적이 없으면 NULL입니다.NULL
END_TIMEtext작업 종료 시간. 작업이 종료되지 않았으면 NULL입니다.NULL
DB_NAMEtext작업이 속한 데이터베이스 이름.default_cluster:testdb
TABLE_NAMEtext작업의 대상 테이블 이름. 여러 테이블에 데이터를 적재하는 작업의 경우 이 값은 multi-table입니다.test_routineload_tbl
STATEtext작업 실행 상태. NEED_SCHEDULE, RUNNING, PAUSED, STOPPED, CANCELLED가 포함됩니다.RUNNING
CURRENT_TASK_NUMtext현재 스케줄링 중이거나 실행 중인 하위 작업 수.1
JOB_PROPERTIEStext배치 크기, 동시 실행 수, 데이터 적재 형식, 열 매핑 및 오류 허용 범위 등 작업 속성 설정.{"max_batch_rows":"200000","format":"csv","columnToColumnExpr":"user_id,name,age","max_filter_ratio":"1.0"}
DATA_SOURCE_PROPERTIEStext데이터 소스 속성 설정. Kafka의 경우 토픽, 브로커 목록 및 현재 Kafka 파티션이 포함됩니다.{"topic":"test-topic","currentKafkaPartitions":"0","brokerList":"192.168.88.62:9092"}
CUSTOM_PROPERTIEStext작업 생성 시 설정한 사용자 지정 속성. Kafka의 경우 일반적으로 오프셋, 그룹 ID 및 property. 접두사로 전달되는 Kafka 클라이언트 매개변수가 포함됩니다. 버전 4.0.8부터 민감한 속성은 ******로 표시됩니다{"kafka_default_offsets":"OFFSET_BEGINNING","group.id":"example_routine_load_73daf600-884e-46c0-a02b-4e49fdf3b4dc"}
STATISTICtext작업 런타임 통계. 주요 필드로는 receivedBytes, loadedRows, errorRows, committedTaskNum, abortedTaskNum, loadRowsRate 및 taskExecuteTimeMs가 있습니다.{"receivedBytes":28,"runningTxns":[],"errorRows":0,"committedTaskNum":3,"loadedRows":3,"loadRowsRate":0,"abortedTaskNum":0,"errorRowsAfterResumed":0,"totalRows":3,"unselectedRows":0,"receivedBytesRate":0,"taskExecuteTimeMs":30069}
PROGRESStext작업 진행 상황. Kafka의 경우 각 파티션에서 소비한 오프셋을 표시합니다.{"0":"2"}
LAGtext작업 지연 정보. Kafka의 경우 각 파티션의 소비 지연을 표시합니다.{"0":0}
REASON_OF_STATE_CHANGEDtext작업 상태가 변경된 이유. 정상적으로 실행 중인 작업에서는 일반적으로 비어 있으며, 작업이 비정상적으로 일시 중지되거나 취소되면 구체적인 이유를 기록합니다.The number of failed task exceeded max_error_number
ERROR_LOG_URLStext품질 검사를 통과하지 못해 필터링된 데이터를 확인할 수 있는 오류 로그 URL. 오류 로그가 없으면 비어 있습니다.http://fe_host:8030/api/_load_error_log?file=error.log
USER_NAMEtext작업을 생성하거나 조작한 사용자.root
CURRENT_ABORT_TASK_NUMint현재 실패한 하위 작업 수.0
IS_ABNORMAL_PAUSEboolean사용자가 수동으로 일시 중지한 것이 아니라 시스템이 비정상적으로 작업을 일시 중지했는지 여부. true는 시스템에 의한 비정상 일시 중지를 나타내고, false는 비정상 일시 중지가 없음을 나타냅니다.false
COMPUTE_GROUPtext작업이 실행되는 컴퓨트 그룹.default_compute_group
FIRST_ERROR_MSGtext작업에서 처음 발생한 오류 메시지로, 근본 원인을 찾는 데 유용합니다. 오류가 없으면 비어 있습니다.too many filtered rows

데이터 소스 및 완전성​

FIRST_ERROR_MSG와 ERROR_LOG_URLS는 master FE의 메모리에서만 유지되는 일시적인 런타임 필드입니다. Follower FE는 메타데이터를 재생할 때 이 필드의 값을 채우지 않습니다.

동작 변경 (4.0.8)

버전 4.0.8부터 information_schema.routine_load_jobs 스캔은 master FE로 라우팅되므로, 어느 FE에서 쿼리하더라도 완전한 FIRST_ERROR_MSG와 ERROR_LOG_URLS 값이 반환됩니다.

4.0.8 이전에는 쿼리를 수신한 FE가 이 테이블의 데이터를 제공했으므로, master가 아닌 FE에서는 이 두 열이 빈 값으로 반환되어 SHOW ROUTINE LOAD의 결과와 일치하지 않았습니다(이 명령은 master FE로 전달됩니다).

이 라우팅은 세션 변수 enable_schema_scan_from_master_fe로 제어되며, 기본값은 true입니다.

비정상 작업 조회​

작업이 비정상적으로 일시 중지되었거나 실패한 하위 작업이 있는 경우, 또는 RUNNING 상태이지만 실행 중인 하위 작업이 없고 Kafka에 소비 지연이 남아 있는 경우에는 원인을 조사해야 합니다. 다음 SQL로 이러한 작업을 조회할 수 있습니다:

SELECT DB_NAME, JOB_NAME
FROM information_schema.routine_load_jobs
WHERE IS_ABNORMAL_PAUSE = TRUE
OR (
STATE = 'RUNNING'
AND (
CURRENT_ABORT_TASK_NUM > 0
OR (
CAST(CURRENT_TASK_NUM AS INT) = 0
AND `LAG` REGEXP ':[[:space:]]*[1-9][0-9]*'
)
)
);

비정상 작업을 찾은 후에는 해당 데이터베이스로 전환하고 SHOW ROUTINE LOAD를 사용하여 작업 세부 정보를 확인합니다:

USE `db_name`;
SHOW ROUTINE LOAD FOR `job_name`;

LAG는 각 파티션의 Kafka 소비 지연 정보입니다. LAG REGEXP ':[[:space:]]*[1-9][0-9]*'는 하나 이상의 파티션에서 지연이 0보다 큰 작업과 일치합니다.