ClickHouse/docs/ru/formats/capnproto.md

27 lines
1.2 KiB
Markdown
Raw Normal View History

<a name="format_capnproto"></a>
# CapnProto
2017-11-07 11:39:22 +00:00
Cap'n Proto - формат бинарных сообщений, похож на Protocol Buffers и Thrift, но не похож на JSON или MessagePack.
Сообщения Cap'n Proto строго типизированы и не самоописывающиеся, т.е. нуждаются во внешнем описании схемы. Схема применяется "на лету" и кешируется для каждого запроса.
```sql
SELECT SearchPhrase, count() AS c FROM test.hits
GROUP BY SearchPhrase FORMAT CapnProto SETTINGS schema = 'schema:Message'
2017-11-07 11:39:22 +00:00
```
Где `schema.capnp` выглядит следующим образом:
2017-11-07 11:39:22 +00:00
```
struct Message {
SearchPhrase @0 :Text;
c @1 :Uint64;
}
```
Файлы со схемами находятся в файле, который находится в каталоге указанном в параметре [format_schema_path](../operations/server_settings/settings.md#server_settings-format_schema_path) конфигурации сервера.
2017-11-07 11:39:22 +00:00
Десериализация эффективна и обычно не повышает нагрузку на систему.