| Entrée | Sortie | Alias |
|---|---|---|
| ✔ | ✔ |
Description
Le format ProtobufList est similaire au format Protobuf, mais les lignes y sont représentées comme une séquence de sous-messages inclus dans un message dont le nom est obligatoirement « Envelope ».
Exemple d’utilisation
Par exemple :
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'"Le fichier schemafile.proto ressemble à ceci :
syntax = "proto3";
message Envelope {
message MessageType {
string name = 1;
string surname = 2;
uint32 birthDate = 3;
repeated string phoneNumbers = 4;
};
MessageType row = 1;
};Le type de message spécifié dans format_schema est d’abord recherché comme type imbriqué dans un message Envelope de niveau supérieur. Si aucune correspondance n’y est trouvée — soit parce que le schéma ne comporte pas de message Envelope, soit parce que Envelope ne contient aucun message portant le nom demandé — le message de niveau supérieur portant ce nom est utilisé directement.