| 입력 | 출력 | 별칭 |
|---|---|---|
| ✔ | ✔ |
설명
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의 내용은 다음과 같습니다:
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에 요청한 이름의 메시지가 없는 경우 — 해당 이름의 최상위 메시지를 직접 사용합니다.