Skip to content

Commit 3ade5c6

Browse files
authored
Merge pull request #4416 from ClickHouse/gg/more_clickpipes_types
Update ClickPipes supported types
2 parents f3ba943 + 13241f6 commit 3ade5c6

File tree

3 files changed

+11
-32
lines changed

3 files changed

+11
-32
lines changed

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

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ The supported formats are:
4040

4141
The following standard ClickHouse data types are currently supported in ClickPipes:
4242

43-
- Base numeric types - \[U\]Int8/16/32/64 and Float32/64
43+
- Base numeric types - \[U\]Int8/16/32/64, Float32/64, and BFloat16
4444
- Large integer types - \[U\]Int128/256
4545
- Decimal Types
4646
- Boolean
@@ -55,30 +55,22 @@ The following standard ClickHouse data types are currently supported in ClickPip
5555
- all ClickHouse LowCardinality types
5656
- Map with keys and values using any of the above types (including Nullables)
5757
- Tuple and Array with elements using any of the above types (including Nullables, one level depth only)
58+
- SimpleAggregateFunction types (for AggregatingMergeTree or SummingMergeTree destinations)
5859

5960
### Avro {#avro}
6061

6162
#### Supported Avro Data Types {#supported-avro-data-types}
62-
6363
ClickPipes supports all Avro Primitive and Complex types, and all Avro Logical types except `time-millis`, `time-micros`, `local-timestamp-millis`, `local_timestamp-micros`, and `duration`. Avro `record` types are converted to Tuple, `array` types to Array, and `map` to Map (string keys only). In general the conversions listed [here](/interfaces/formats/Avro#data-type-mapping) are available. We recommend using exact type matching for Avro numeric types, as ClickPipes does not check for overflow or precision loss on type conversion.
64+
Alternatively, all Avro types can be inserted into a `String` column, and will be represented as a valid JSON string in that case.
6465

6566
#### Nullable types and Avro unions {#nullable-types-and-avro-unions}
66-
6767
Nullable types in Avro are defined by using a Union schema of `(T, null)` or `(null, T)` where T is the base Avro type. During schema inference, such unions will be mapped to a ClickHouse "Nullable" column. Note that ClickHouse does not support
6868
`Nullable(Array)`, `Nullable(Map)`, or `Nullable(Tuple)` types. Avro null unions for these types will be mapped to non-nullable versions (Avro Record types are mapped to a ClickHouse named Tuple). Avro "nulls" for these types will be inserted as:
6969
- An empty Array for a null Avro array
7070
- An empty Map for a null Avro Map
7171
- A named Tuple with all default/zero values for a null Avro Record
7272

73-
### Experimental {#experimental-types-support}
74-
7573
#### Variant type support {#variant-type-support}
76-
77-
<ExperimentalBadge/>
78-
79-
Variant type support is automatic if your Cloud service is running ClickHouse 25.3 or later. Otherwise, you will
80-
have to submit a support ticket to enable it on your service.
81-
8274
ClickPipes supports the Variant type in the following circumstances:
8375
- Avro Unions. If your Avro schema contains a union with multiple non-null types, ClickPipes will infer the
8476
appropriate variant type. Variant types are not otherwise supported for Avro data.
@@ -87,12 +79,6 @@ ClickPipes supports the Variant type in the following circumstances:
8779
type can be used in the Variant definition - for example, `Variant(Int64, UInt32)` is not supported.
8880

8981
#### JSON type support {#json-type-support}
90-
91-
<ExperimentalBadge/>
92-
93-
JSON type support is automatic if your Cloud service is running ClickHouse 25.3 or later. Otherwise, you will
94-
have to submit a support ticket to enable it on your service.
95-
9682
ClickPipes support the JSON type in the following circumstances:
9783
- Avro Record types can always be assigned to a JSON column.
9884
- Avro String and Bytes types can be assigned to a JSON column if the column actually holds JSON String objects.

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

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -99,18 +99,16 @@ Role-based access only works for ClickHouse Cloud instances deployed to AWS.
9999
```
100100

101101
### Custom Certificates {#custom-certificates}
102-
ClickPipes for Kafka supports the upload of custom certificates for Kafka brokers with SASL & public SSL/TLS certificate. You can upload your certificate in the SSL Certificate section of the ClickPipe setup.
103-
:::note
104-
Please note that while we support uploading a single SSL certificate along with SASL for Kafka, SSL with Mutual TLS (mTLS) is not supported at this time.
105-
:::
102+
ClickPipes for Kafka supports the upload of custom certificates for Kafka brokers which use non-public server certificates.
103+
Upload of client certificates and keys is also supported for mutual TLS (mTLS) based authentication.
106104

107105
## Performance {#performance}
108106

109107
### Batching {#batching}
110108
ClickPipes inserts data into ClickHouse in batches. This is to avoid creating too many parts in the database which can lead to performance issues in the cluster.
111109

112110
Batches are inserted when one of the following criteria has been met:
113-
- The batch size has reached the maximum size (100,000 rows or 20MB)
111+
- The batch size has reached the maximum size (100,000 rows or 32MB per 1GB of pod memory)
114112
- The batch has been open for a maximum amount of time (5 seconds)
115113

116114
### Latency {#latency}

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

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ The supported formats are:
9292
### Standard types support {#standard-types-support}
9393
The following ClickHouse data types are currently supported in ClickPipes:
9494

95-
- Base numeric types - \[U\]Int8/16/32/64 and Float32/64
95+
- Base numeric types - \[U\]Int8/16/32/64, Float32/64, and BFloat16
9696
- Large integer types - \[U\]Int128/256
9797
- Decimal Types
9898
- Boolean
@@ -107,19 +107,14 @@ The following ClickHouse data types are currently supported in ClickPipes:
107107
- all ClickHouse LowCardinality types
108108
- Map with keys and values using any of the above types (including Nullables)
109109
- Tuple and Array with elements using any of the above types (including Nullables, one level depth only)
110-
-
111-
### Variant type support (experimental) {#variant-type-support}
112-
Variant type support is automatic if your Cloud service is running ClickHouse 25.3 or later. Otherwise, you will
113-
have to submit a support ticket to enable it on your service.
110+
- SimpleAggregateFunction types (for AggregatingMergeTree or SummingMergeTree destinations)
114111

112+
### Variant type support {#variant-type-support}
115113
You can manually specify a Variant type (such as `Variant(String, Int64, DateTime)`) for any JSON field
116114
in the source data stream. Because of the way ClickPipes determines the correct variant subtype to use, only one integer or datetime
117115
type can be used in the Variant definition - for example, `Variant(Int64, UInt32)` is not supported.
118116

119-
### JSON type support (experimental) {#json-type-support}
120-
JSON type support is automatic if your Cloud service is running ClickHouse 25.3 or later. Otherwise, you will
121-
have to submit a support ticket to enable it on your service.
122-
117+
### JSON type support {#json-type-support}
123118
JSON fields that are always a JSON object can be assigned to a JSON destination column. You will have to manually change the destination
124119
column to the desired JSON type, including any fixed or skipped paths.
125120

@@ -148,7 +143,7 @@ view). For such pipes, it may improve ClickPipes performance to delete all the
148143
ClickPipes inserts data into ClickHouse in batches. This is to avoid creating too many parts in the database which can lead to performance issues in the cluster.
149144

150145
Batches are inserted when one of the following criteria has been met:
151-
- The batch size has reached the maximum size (100,000 rows or 20MB)
146+
- The batch size has reached the maximum size (100,000 rows or 32MB per 1GB of replica memory)
152147
- The batch has been open for a maximum amount of time (5 seconds)
153148

154149
### Latency {#latency}

0 commit comments

Comments
 (0)