Перейти к основному содержанию
ВходВыходАлиас

Описание

Формат 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 выглядит так:
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 не содержит сообщения с запрошенным именем, — напрямую используется сообщение верхнего уровня с этим именем.

Настройки формата

Последнее изменение 10 июня 2026 г.