ProtobufList 형식

ProtobufList 형식

ProtobufList 형식은 Protobuf 형식과 유사하지만, 행이 고정 이름 "Envelope"의 메시지에 포함된 하위 메시지 시퀀스로 표현돼요. format_schema에 지정된 메시지 타입은 먼저 최상위 Envelope 메시지 내부의 중첩 타입으로 해석됩니다.

출처: 문서

본문

Input Output Alias

설명 (Description)

ProtobufList 형식은 Protobuf 형식과 유사하지만 행이 고정 이름 "Envelope"의 메시지에 포함된 하위 메시지 시퀀스로 표현됩니다.

사용 예시 (Example usage)

예를 들어:

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가 요청된 이름의 메시지를 포함하지 않거나 — 해당 이름의 최상위 메시지가 직접 사용됩니다.

형식 설정 (Format settings)

더 알아보기 (Learn more)