메인 콘텐츠로 건너뛰기
입력출력별칭

설명

ProtobufList 포맷은 Protobuf 포맷과 유사하지만, 행은 “Envelope”라는 고정된 이름의 메시지에 포함된 하위 메시지들의 연속으로 표현됩니다.

사용 예시

예를 들면 다음과 같습니다:
SELECT * FROM test.table FORMAT ProtobufList SETTINGS format_schema = 'schemafile:MessageType'
cat protobuflist_messages.bin | clickhouse-client --query "INSERT INTO test.table FORMAT ProtobufList SETTINGS format_schema='schemafile:MessageType'"
파일 schemafile.proto의 내용은 다음과 같습니다:
schemafile.proto
syntax = "proto3";
message Envelope {
  message MessageType {
    string name = 1;
    string surname = 2;
    uint32 birthDate = 3;
    repeated string phoneNumbers = 4;
  };
  MessageType row = 1;
};
format_schema에 지정된 메시지 유형은 먼저 최상위 Envelope 메시지 안의 중첩 유형으로 해석됩니다. 여기서 일치하는 항목을 찾지 못하면 — 스키마에 Envelope 메시지가 없거나 Envelope에 요청한 이름의 메시지가 없는 경우 — 해당 이름의 최상위 메시지를 직접 사용합니다.

포맷 설정

마지막 수정일 2026년 6월 10일