Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

MsgPack

Input Output Alias

Description

ClickHouse supports reading and writing MessagePack data files.

Data types matching

MessagePack data type (INSERT) ClickHouse data type MessagePack data type (SELECT)
uint N, positive fixint UIntN uint N
int N, negative fixint IntN int N
bool UInt8 uint 8
fixstr, str 8, str 16, str 32, bin 8, bin 16, bin 32 String bin 8, bin 16, bin 32
fixstr, str 8, str 16, str 32, bin 8, bin 16, bin 32 FixedString bin 8, bin 16, bin 32
float 32 Float32 float 32
float 64 Float64 float 64
uint 16 Date uint 16
int 32 Date32 int 32
uint 32 DateTime uint 32
uint 64 DateTime64 uint 64
fixarray, array 16, array 32 Array/Tuple fixarray, array 16, array 32
fixmap, map 16, map 32 Map fixmap, map 16, map 32
uint 32 IPv4 uint 32
bin 8 String bin 8
int 8 Enum8 int 8
bin 8 (U)Int128/(U)Int256 bin 8
int 32 Decimal32 int 32
int 64 Decimal64 int 64
bin 8 Decimal128/Decimal256 bin 8

Example usage

Writing to a file “.msgpk”:

$ clickhouse-client --query="CREATE TABLE msgpack (array Array(UInt8)) ENGINE = Memory;"
$ clickhouse-client --query="INSERT INTO msgpack VALUES ([0, 1, 2, 3, 42, 253, 254, 255]), ([255, 254, 253, 42, 3, 2, 1, 0])";
$ clickhouse-client --query="SELECT * FROM msgpack FORMAT MsgPack" > tmp_msgpack.msgpk;

Format settings

Setting Description Default
input_format_msgpack_number_of_columns the number of columns in inserted MsgPack data. Used for automatic schema inference from data. 0
output_format_msgpack_uuid_representation the way how to output UUID in MsgPack format. EXT
Navigation