title_wip

\* [Avro logical types](https://avro.apache.org/docs/current/spec.html#Logical+Types)

Other Avro types are not supported.

### Parquet[​](#parquet "Direct link to Parquet")

In Parquet format ClickHouse reads its schema from the data and converts it to ClickHouse schema using the following type matches:

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Parquet data type ClickHouse data type|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `BOOL` [Bool](/docs/sql-reference/data-types/boolean)| `UINT8` [UInt8](/docs/sql-reference/data-types/int-uint)| `INT8` [Int8](/docs/sql-reference/data-types/int-uint)| `UINT16` [UInt16](/docs/sql-reference/data-types/int-uint)| `INT16` [Int16](/docs/sql-reference/data-types/int-uint)| `UINT32` [UInt32](/docs/sql-reference/data-types/int-uint)| `INT32` [Int32](/docs/sql-reference/data-types/int-uint)| `UINT64` [UInt64](/docs/sql-reference/data-types/int-uint)| `INT64` [Int64](/docs/sql-reference/data-types/int-uint)| `FLOAT` [Float32](/docs/sql-reference/data-types/float)| `DOUBLE` [Float64](/docs/sql-reference/data-types/float)| `DATE` [Date32](/docs/sql-reference/data-types/date32)| `TIME (ms)` [DateTime](/docs/sql-reference/data-types/datetime)| `TIMESTAMP`, `TIME (us, ns)` [DateTime64](/docs/sql-reference/data-types/datetime64)| `STRING`, `BINARY` [String](/docs/sql-reference/data-types/string)| `DECIMAL` [Decimal](/docs/sql-reference/data-types/decimal)| `LIST` [Array](/docs/sql-reference/data-types/array)| `STRUCT` [Tuple](/docs/sql-reference/data-types/tuple)| `MAP` [Map](/docs/sql-reference/data-types/map) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Other Parquet types are not supported.

### Arrow[​](#arrow "Direct link to Arrow")

In Arrow format ClickHouse reads its schema from the data and converts it to ClickHouse schema using the following type matches:

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Arrow data type ClickHouse data type|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `BOOL` [Bool](/docs/sql-reference/data-types/boolean)| `UINT8` [UInt8](/docs/sql-reference/data-types/int-uint)| `INT8` [Int8](/docs/sql-reference/data-types/int-uint)| `UINT16` [UInt16](/docs/sql-reference/data-types/int-uint)| `INT16` [Int16](/docs/sql-reference/data-types/int-uint)| `UINT32` [UInt32](/docs/sql-reference/data-types/int-uint)| `INT32` [Int32](/docs/sql-reference/data-types/int-uint)| `UINT64` [UInt64](/docs/sql-reference/data-types/int-uint)| `INT64` [Int64](/docs/sql-reference/data-types/int-uint)| `FLOAT`, `HALF_FLOAT` [Float32](/docs/sql-reference/data-types/float)| `DOUBLE` [Float64](/docs/sql-reference/data-types/float)| `DATE32` [Date32](/docs/sql-reference/data-types/date32)| `DATE64` [DateTime](/docs/sql-reference/data-types/datetime)| `TIMESTAMP`, `TIME32`, `TIME64` [DateTime64](/docs/sql-reference/data-types/datetime64)| `STRING`, `BINARY` [String](/docs/sql-reference/data-types/string)| `DECIMAL128`, `DECIMAL256` [Decimal](/docs/sql-reference/data-types/decimal)| `LIST` [Array](/docs/sql-reference/data-types/array)| `STRUCT` [Tuple](/docs/sql-reference/data-types/tuple)| `MAP` [Map](/docs/sql-reference/data-types/map) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Other Arrow types are not supported.

### ORC[​](#orc "Direct link to ORC")

In ORC format ClickHouse reads its schema from the data and converts it to ClickHouse schema using the following type matches:

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| ORC data type ClickHouse data type|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `Boolean` [Bool](/docs/sql-reference/data-types/boolean)| `Tinyint` [Int8](/docs/sql-reference/data-types/int-uint)| `Smallint` [Int16](/docs/sql-reference/data-types/int-uint)| `Int` [Int32](/docs/sql-reference/data-types/int-uint)| `Bigint` [Int64](/docs/sql-reference/data-types/int-uint)| `Float` [Float32](/docs/sql-reference/data-types/float)| `Double` [Float64](/docs/sql-reference/data-types/float)| `Date` [Date32](/docs/sql-reference/data-types/date32)| `Timestamp` [DateTime64](/docs/sql-reference/data-types/datetime64)| `String`, `Char`, `Varchar`,`BINARY` [String](/docs/sql-reference/data-types/string)| `Decimal` [Decimal](/docs/sql-reference/data-types/decimal)| `List` [Array](/docs/sql-reference/data-types/array)| `Struct` [Tuple](/docs/sql-reference/data-types/tuple)| `Map` [Map](/docs/sql-reference/data-types/map) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Other ORC types are not supported.

### Native[​](#native "Direct link to Native")

Native format is used inside ClickHouse and contains the schema in the data.
In schema inference, ClickHouse reads the schema from the data without any transformations.

## Formats with external schema[​](#formats-with-external-schema "Direct link to Formats with external schema")

Such formats require a schema describing the data in a separate file in a specific schema language.
To automatically infer a schema from files in such formats, ClickHouse reads external schema from a separate file and transforms it to a ClickHouse table schema.

### Protobuf[​](#protobuf "Direct link to Protobuf")

In schema inference for Protobuf format ClickHouse uses the following type matches:

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Protobuf data type ClickHouse data type|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `bool` [UInt8](/docs/sql-reference/data-types/int-uint)| `float` [Float32](/docs/sql-reference/data-types/float)| `double` [Float64](/docs/sql-reference/data-types/float)| `int32`, `sint32`, `sfixed32` [Int32](/docs/sql-reference/data-types/int-uint)| `int64`, `sint64`, `sfixed64` [Int64](/docs/sql-reference/data-types/int-uint)| `uint32`, `fixed32` [UInt32](/docs/sql-reference/data-types/int-uint)| `uint64`, `fixed64` [UInt64](/docs/sql-reference/data-types/int-uint)| `string`, `bytes` [String](/docs/sql-reference/data-types/string)| `enum` [Enum](/docs/sql-reference/data-types/enum)| `repeated T` [Array(T)](/docs/sql-reference/data-types/array)| `message`, `group` [Tuple](/docs/sql-reference/data-types/tuple) | | | | | | | | | | | | | | | | | | | | | | | |