Saltar al contenido principal
EntradaSalidaAlias

Descripción

El formato ProtobufList es similar al formato Protobuf, pero las filas se representan como una secuencia de submensajes contenidos en un mensaje con el nombre fijo «Envelope».

Ejemplo de uso

Por ejemplo:
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'"
Donde el archivo schemafile.proto queda así:
schemafile.proto
syntax = "proto3";
message Envelope {
  message MessageType {
    string name = 1;
    string surname = 2;
    uint32 birthDate = 3;
    repeated string phoneNumbers = 4;
  };
  MessageType row = 1;
};
El tipo de mensaje especificado en format_schema se determina buscando primero si existe como un tipo anidado dentro de un mensaje Envelope de nivel superior. Si no se encuentra ninguna coincidencia allí —ya sea porque el esquema no tiene un mensaje Envelope o porque Envelope no contiene un mensaje con el nombre solicitado—, se usa directamente el mensaje de nivel superior con ese nombre.

Ajustes de formato

Última modificación el 10 de junio de 2026