@@ -123,7 +123,8 @@ The supported formats are:
123
123
124
124
### Supported Data Types {#supported-data-types}
125
125
126
- The following ClickHouse data types are currently supported in ClickPipes:
126
+ #### Standard types support {#standard-types-support}
127
+ The following standard ClickHouse data types are currently supported in ClickPipes:
127
128
128
129
- Base numeric types - \[ U\] Int8/16/32/64 and Float32/64
129
130
- Large integer types - \[ U\] Int128/256
@@ -141,6 +142,28 @@ The following ClickHouse data types are currently supported in ClickPipes:
141
142
- Map with keys and values using any of the above types (including Nullables)
142
143
- Tuple and Array with elements using any of the above types (including Nullables, one level depth only)
143
144
145
+ #### Variant type support (experimental) {#variant-type-support}
146
+ Variant type support is automatic if your Cloud service is running ClickHouse 25.3 or later. Otherwise, you will
147
+ have to submit a support ticket to enable it on your service.
148
+
149
+ ClickPipes supports the Variant type in the following circumstances:
150
+ - Avro Unions. If your Avro schema contains a union with multiple non-null types, ClickPipes will infer the
151
+ appropriate variant type. Variant types are not otherwise supported for Avro data.
152
+ - JSON fields. You can manually specify a Variant type (such as ` Variant(String, Int64, DateTime) ` ) for any JSON field
153
+ in the source data stream. Because of the way ClickPipes determines the correct variant subtype to use, only one integer or datetime
154
+ type can be used in the Variant definition - for example, ` Variant(Int64, UInt32) ` is not supported.
155
+
156
+ #### JSON type support (experimental) {#json-type-support}
157
+ JSON type support is automatic if your Cloud service is running ClickHouse 25.3 or later. Otherwise, you will
158
+ have to submit a support ticket to enable it on your service.
159
+
160
+ ClickPipes support the JSON type in the following circumstances:
161
+ - Avro Record types can always be assigned to a JSON column.
162
+ - Avro String and Bytes types can be assigned to a JSON column if the column actually holds JSON String objects.
163
+ - JSON fields that are always a JSON object can be assigned to a JSON destination column.
164
+
165
+ Note that you will have to manually change the destination column to the desired JSON type, including any fixed or skipped paths.
166
+
144
167
### Avro {#avro}
145
168
#### Supported Avro Data Types {#supported-avro-data-types}
146
169
0 commit comments