Pular para o conteúdo principal
EntradaSaídaAlias

Descrição

O formato ProtobufList é semelhante ao formato Protobuf, mas as linhas são representadas como uma sequência de submensagens contidas em uma mensagem com nome fixo “Envelope”.

Exemplo de uso

Por exemplo:
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'"
Em que o arquivo schemafile.proto fica assim:
schemafile.proto
syntax = "proto3";
message Envelope {
  message MessageType {
    string name = 1;
    string surname = 2;
    uint32 birthDate = 3;
    repeated string phoneNumbers = 4;
  };
  MessageType row = 1;
};
O tipo de mensagem especificado em format_schema é resolvido primeiro procurando por ele como um tipo aninhado dentro de uma mensagem Envelope de nível superior. Se nenhuma correspondência for encontrada ali — seja porque o schema não tem uma mensagem Envelope, seja porque o Envelope não contém uma mensagem com o nome solicitado — a mensagem de nível superior com esse nome é usada diretamente.

Configurações de formato

Última modificação em 10 de junho de 2026