Voici la correspondance des types de données pris en charge pour le MySQL ClickPipe :
| Type MySQL | Type ClickHouse | Remarques |
|---|---|---|
| Enum | LowCardinality(String) | |
| Set | String | |
| Decimal | Decimal(76,38) | Les valeurs dépassant 38 chiffres entiers sont ingérées comme zéro. |
| Bit | UInt64 | |
| TinyInt | Int8 | Prend en charge les valeurs non signées. |
| SmallInt | Int16 | Prend en charge les valeurs non signées. |
| MediumInt, Int | Int32 | Prend en charge les valeurs non signées. |
| BigInt | Int64 | Prend en charge les valeurs non signées. |
| Serial | UInt64 | |
| Year | Int16 | |
| TinyInt(1) | Bool | |
| Float | Float32 | La précision dans ClickHouse peut différer de celle de MySQL lors du chargement initial en raison du protocole texte. Float(p) correspond à Float32 pour p <= 24 et à Float64 pour p >= 25. |
| Double | Float64 | La précision dans ClickHouse peut différer de celle de MySQL lors du chargement initial en raison du protocole texte. |
| TinyText, Text, MediumText, LongText | String | |
| TinyBlob, Blob, MediumBlob, LongBlob | String | |
| Char, Varchar | String | |
| Long, Long Varchar | String | |
| Binary, VarBinary | String | |
| Long VarBinary | String | |
| JSON | String | MySQL uniquement ; le json de MariaDB est simplement un alias de text avec une contrainte. |
| Geometry & Geometry Types | String | WKT (Well-Known Text). WKT peut entraîner une légère perte de précision. |
| UUID | UUID | MariaDB uniquement. Les colonnes ajoutées pendant la CDC sont ajoutées comme String contenant les 16 octets bruts. |
| INET4, INET6 | String | MariaDB uniquement. |
| Vector | Array(Float32) | MySQL uniquement ; MariaDB ajoutera bientôt cette prise en charge. |
| Char Byte, Raw | String | Alias MariaDB/mode Oracle pour les types binaires. |
| Clob, Varchar2, XMLType | String | Alias MariaDB/mode Oracle pour les types texte. |
| Number | Decimal | Alias MariaDB/mode Oracle pour Decimal. |
| Date | Date32 | Le jour/mois 00 est converti en 01. |
| Time | DateTime64(6) | Décalage temporel par rapport à l'époque Unix. |
| Datetime, Timestamp | DateTime64(6) | Le jour/mois 00 est converti en 01. |