Skip to main content

Description

Vortex is an extensible columnar file format for compressed Apache Arrow-compatible data, designed for fast scans and random access. ClickHouse supports reading and writing Vortex files.

Data types matching

The table below shows the Vortex data types and the corresponding ClickHouse data types in INSERT and SELECT queries. Other types are not supported. In particular, Map, Int128/UInt128/Int256/UInt256, IPv6 and Interval columns cannot be written to Vortex files. String columns are written as Binary because ClickHouse strings are arbitrary byte sequences, while Vortex requires Utf8 values to be valid UTF-8. Vortex has no fixed-size binary type, so FixedString is also written as Binary, and LowCardinality columns are written as their underlying type (Vortex chooses dictionary and other encodings adaptively by itself). DateTime columns are written as vortex.timestamp with second precision, so they are read back as DateTime64 with scale 0. IPv4 columns are written as U32 because Vortex has no type for IP addresses, so schema inference reads them back as UInt32. Specify the type explicitly to read such a column back as IPv4: SELECT * FROM file('data.vortex', Vortex, 'ip IPv4'). The data types of ClickHouse table columns do not have to match the corresponding Vortex data fields. When inserting data, ClickHouse interprets data types according to the table above and then casts the data to the data type set for the ClickHouse table column.

Example usage

You can select data from a Vortex file:
And write data to a Vortex file:

Format settings

The format has no dedicated settings. As in other columnar formats, only the columns used by the query are read from the file, and columns missing in the file are filled with default values.
Last modified on August 6, 2026