MsgPack
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
Example:
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
- input_format_msgpack_number_of_columns - the number of columns in inserted MsgPack data. Used for automatic schema inference from data. Default value -
0
. - output_format_msgpack_uuid_representation - the way how to output UUID in MsgPack format. Default value -
EXT
.