Skip to main content
이 설정은 소스에서 자동으로 생성되었습니다.

format_schema

이 매개변수는 Cap’n Proto 또는 Protobuf처럼 스키마 정의가 필요한 포맷을 사용할 때 유용합니다. 값은 포맷에 따라 달라집니다.

format_schema_message_name

format_schema에 정의된 스키마에서 필요한 메시지 이름을 지정합니다. 기존 format_schema 포맷(file_name:message_name)과의 호환성을 유지하기 위해 다음과 같이 동작합니다.
  • format_schema_message_name을 지정하지 않으면, 메시지 이름은 기존 format_schema 값의 message_name 부분에서 추론됩니다.
  • 기존 포맷을 사용하는 상태에서 format_schema_message_name을 지정하면 오류가 발생합니다.

format_schema_source

format_schema의 소스를 정의합니다. 가능한 값:
  • ‘file’ (기본값): format_schema는 format_schemas 디렉터리에 있는 스키마 파일의 이름입니다.
  • ‘string’: format_schema는 스키마의 리터럴 내용입니다.
  • ‘query’: format_schema는 스키마를 가져오기 위한 쿼리입니다. format_schema_source가 ‘query’로 설정되면 다음 조건이 적용됩니다:
  • 쿼리는 정확히 하나의 값을 반환해야 합니다. 즉, 하나의 String 컬럼만 있는 단일 행이어야 합니다.
  • 쿼리 결과는 스키마 내용으로 처리됩니다.
  • 이 결과는 format_schemas 디렉터리에 로컬로 캐시됩니다.
  • 다음 명령으로 로컬 캐시를 비울 수 있습니다: SYSTEM DROP FORMAT SCHEMA CACHE FOR Files.
  • 한 번 캐시되면 캐시가 명시적으로 삭제될 때까지 동일한 사용자의 동일한 쿼리는 스키마를 다시 가져오기 위해 실행되지 않습니다.
  • 로컬 캐시 파일 외에도 Protobuf Message는 메모리에 캐시됩니다. 로컬 캐시 파일을 삭제한 후에도 스키마를 완전히 갱신하려면 SYSTEM DROP FORMAT SCHEMA CACHE [FOR Protobuf]를 사용해 인메모리 캐시를 비워야 합니다.
  • SYSTEM DROP FORMAT SCHEMA CACHE 쿼리를 실행하면 캐시 파일과 Protobuf Message 스키마의 캐시를 모두 한 번에 비울 수 있습니다.
  • 쿼리는 이를 실행하는 사용자의 권한으로 실행되므로 해당 사용자의 접근 권한이 적용되며, 캐시된 결과도 동일한 사용자에게만 재사용됩니다. 스트리밍 엔진 consumer와 같은 백그라운드 작업에서 또는 INSERT 데이터가 클라이언트 측에서 파싱될 때처럼 사용자가 없는 경우에는 실행할 수 없습니다. 이러한 경우 format_schema_source를 file 또는 string으로 설정하십시오.
마지막 수정일 2026년 9월 26일