ClickHouse/docs/en/formats/capnproto.md
2018-04-23 09:20:21 +03:00

867 B

CapnProto

Cap'n Proto is a binary message format similar to Protocol Buffers and Thrift, but not like JSON or MessagePack.

Cap'n Proto messages are strictly typed and not self-describing, meaning they need an external schema description. The schema is applied on the fly and cached for each query.

SELECT SearchPhrase, count() AS c FROM test.hits
       GROUP BY SearchPhrase FORMAT CapnProto SETTINGS schema = 'schema:Message'

Where schema.capnp looks like this:

struct Message {
  SearchPhrase @0 :Text;
  c @1 :Uint64;
}

Schema files are in the file that is located in the directory specified in format_schema_path in the server configuration.

Deserialization is effective and usually doesn't increase the system load.