system.user_defined_functions
설명
사용자 정의 함수(User-Defined Functions, UDF)에 대한 로딩 상태, 오류 정보, 구성 메타데이터를 포함합니다.
컬럼
name(String) — UDF 이름입니다.load_status(Enum8('Success' = 0, 'Failed' = 1)) — 로드 상태입니다. 가능한 값:- Success — UDF가 로드되어 사용할 준비가 되었습니다
- Failed — UDF 로드에 실패했습니다(자세한 내용은 'loading_error_message' 필드를 참조하십시오).
loading_error_message(String) — 로드 실패 시 표시되는 자세한 오류 메시지입니다. 성공적으로 로드된 경우 비어 있습니다.last_successful_update_time(Nullable(DateTime)) — 마지막으로 성공한 업데이트의 타임스탬프입니다. 한 번도 성공하지 않은 경우 NULL입니다.loading_duration_ms(UInt64) — UDF를 로드하는 데 걸린 시간(밀리초)입니다.type(Enum8('executable' = 0, 'executable_pool' = 1)) — UDF 타입입니다: 'executable' (단일 프로세스) 또는 'executable_pool' (프로세스 풀).command(String) — 이 UDF에 대해 실행할 스크립트 또는 명령어입니다.format(String) — I/O용 데이터 포맷입니다(예: 'TabSeparated', 'JSONEachRow').return_type(String) — 함수 반환 타입입니다(예: 'String', 'UInt64').return_name(String) — 선택적 반환 값 식별자입니다. 구성되지 않은 경우 비어 있습니다.argument_types(Array(String)) — 인수 타입 배열입니다(예: ['String', 'UInt64']).argument_names(Array(String)) — 인수 이름 배열입니다. 이름이 없는 인수에는 빈 문자열이 사용됩니다.max_command_execution_time(UInt64) — 데이터 블록을 처리하는 최대 시간(초)입니다. 'executable_pool' 타입에만 적용됩니다.command_termination_timeout(UInt64) — 명령어 프로세스에 SIGTERM을 보내기 전까지의 시간(초)입니다.command_read_timeout(UInt64) — 명령어 stdout에서 읽기 작업에 허용되는 시간(밀리초)입니다.command_write_timeout(UInt64) — 명령어 stdin에 쓰기 작업에 허용되는 시간(밀리초)입니다.pool_size(UInt64) — 명령어 프로세스 인스턴스 수입니다. 'executable_pool' 타입에만 적용됩니다.send_chunk_header(UInt8) — 각 데이터 청크 앞에 행 수를 보낼지 여부입니다(불리언).execute_direct(UInt8) — 명령어를 직접 실행할지(1), 또는 /bin/bash를 통해 실행할지(0) 여부입니다.lifetime(UInt64) — 다시 로드하는 인터벌(초)입니다. 0은 다시 로드가 비활성화됨을 의미합니다.deterministic(UInt8) — 함수가 동일한 인수에 대해 항상 동일한 결과를 반환하는지 여부입니다(불리언).
예시
다음과 같이 모든 UDF와 해당 로딩 상태를 조회할 수 있습니다:
실패한 UDF 조회:
추가 참고
- 사용자 정의 함수 — UDF 생성 및 구성 방법.