Skip to content

Commit 73c5893

Browse files
committed
ClickPipes JSON and Variant types
1 parent 1566c82 commit 73c5893

File tree

2 files changed

+40
-1
lines changed

2 files changed

+40
-1
lines changed

docs/integrations/data-ingestion/clickpipes/kafka.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,8 @@ The supported formats are:
123123

124124
### Supported Data Types {#supported-data-types}
125125

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:
127128

128129
- Base numeric types - \[U\]Int8/16/32/64 and Float32/64
129130
- Large integer types - \[U\]Int128/256
@@ -141,6 +142,28 @@ The following ClickHouse data types are currently supported in ClickPipes:
141142
- Map with keys and values using any of the above types (including Nullables)
142143
- Tuple and Array with elements using any of the above types (including Nullables, one level depth only)
143144

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+
144167
### Avro {#avro}
145168
#### Supported Avro Data Types {#supported-avro-data-types}
146169

docs/integrations/data-ingestion/clickpipes/kinesis.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ The supported formats are:
9191

9292
## Supported Data Types {#supported-data-types}
9393

94+
### Standard Types Support {#standard-types-support}
9495
The following ClickHouse data types are currently supported in ClickPipes:
9596

9697
- Base numeric types - \[U\]Int8/16/32/64 and Float32/64
@@ -108,6 +109,21 @@ The following ClickHouse data types are currently supported in ClickPipes:
108109
- all ClickHouse LowCardinality types
109110
- Map with keys and values using any of the above types (including Nullables)
110111
- Tuple and Array with elements using any of the above types (including Nullables, one level depth only)
112+
-
113+
### Variant Type Support (Experimental) {#variant-type-support}
114+
Variant type support is automatic if your Cloud service is running ClickHouse 25.3 or later. Otherwise, you will
115+
have to submit a support ticket to enable it on your service.
116+
117+
You can manually specify a Variant type (such as `Variant(String, Int64, DateTime)`) for any JSON field
118+
in the source data stream. Because of the way ClickPipes determines the correct variant subtype to use, only one integer or datetime
119+
type can be used in the Variant definition - for example, `Variant(Int64, UInt32)` is not supported.
120+
121+
### JSON Type Support (Experimental) {#json-type-support}
122+
JSON type support is automatic if your Cloud service is running ClickHouse 25.3 or later. Otherwise, you will
123+
have to submit a support ticket to enable it on your service.
124+
125+
JSON fields that are always a JSON object can be assigned to a JSON destination column. You will have to manually change the destination
126+
column to the desired JSON type, including any fixed or skipped paths.
111127

112128
## Kinesis Virtual Columns {#kinesis-virtual-columns}
113129

0 commit comments

Comments
 (0)