Hologres est compatible avec les types de données PostgreSQL et en prend en charge un sous-ensemble. Cette rubrique détaille les types de données natifs, les types tableau unidimensionnels ainsi que les correspondances de types depuis les systèmes sources tels que MaxCompute, Flink, MySQL, DLF, Hive, Hudi, Delta Lake, Paimon et Iceberg.
Types de données
Le tableau suivant répertorie tous les types de données pris en charge par Hologres. Les noms de types et leurs alias ne sont pas sensibles à la casse en SQL, mais ils apparaissent ici en majuscules par convention.
|
Nom |
Alias |
Taille de stockage |
Description |
Plage de valeurs |
Exemple |
|
INTEGER |
INT, INT4 |
4 octets |
Entier standard. |
-2 147 483 648 à +2 147 483 647 |
2147483647 |
|
BIGINT |
INT8 |
8 octets |
Entier à grande plage. |
-9 223 372 036 854 775 808 à +9 223 372 036 854 775 807 |
9223372036854775807 |
|
SMALLINT |
— |
2 octets |
Entier à petite plage. |
-32 768 à +32 767 |
32767 |
|
REAL |
FLOAT4 |
4 octets |
Nombre à virgule flottante à précision variable, inexact. Dans l'écosystème PostgreSQL, |
Précision de 6 chiffres décimaux |
123,123 |
|
DOUBLE PRECISION |
FLOAT8 |
8 octets |
Nombre à virgule flottante à précision variable, inexact. |
Précision de 15 chiffres décimaux |
123,123456789123 |
|
DECIMAL |
NUMERIC |
Variable |
Valeur numérique exacte. Spécifiez à la fois PRECISION (nombre total de chiffres, 0–38) et SCALE (chiffres après la virgule, 0–PRECISION). À partir de la version V4.2, le mode haute précision prend en charge jusqu'à 76 chiffres : PRECISION (0–76) et SCALE (0–PRECISION). |
Jusqu'à 38 chiffres avant et 38 chiffres après la virgule. À partir de la V4.2, prise en charge de jusqu'à 76 chiffres en haute précision. |
DECIMAL(38, 10) |
|
BOOLEAN |
BOOL |
1 octet |
Booléen. |
True / False |
True |
|
TEXT |
— |
Variable |
Chaîne de longueur variable. Privilégiez TEXT plutôt que VARCHAR(n) ou CHAR(n) pour une flexibilité maximale. |
Aucune |
abcdefg |
|
CHAR(n) |
— |
Fixe, jusqu'à n caractères |
Chaîne de caractères de longueur fixe. La taille de stockage ne dépasse pas 1 Go. |
Jusqu'à n caractères |
abcd |
|
VARCHAR(n) |
— |
Variable, jusqu'à n caractères |
Chaîne de longueur variable avec une limite de caractères. La taille de stockage ne dépasse pas 1 Go. |
Jusqu'à n caractères |
abcdefg |
|
TIMESTAMP WITH TIME ZONE |
TIMESTAMPTZ |
8 octets |
Horodatage avec fuseau horaire, stocké avec une précision à la milliseconde. Si aucun décalage de fuseau horaire n'est spécifié, le système ajoute automatiquement le fuseau horaire par défaut aux données. |
4713 av. J.-C. à 294276 ap. J.-C. |
2004-10-19 10:23:54+02 |
|
TIMESTAMP |
— |
8 octets |
Horodatage sans fuseau horaire, stocké avec une précision à la microseconde. |
4713 av. J.-C. à 5874897 ap. J.-C. |
2020-01-01 01:01:01.123456 |
|
DATE |
— |
4 octets |
Date, avec une granularité au jour. |
4713 av. J.-C. à 5874897 ap. J.-C. |
2004-10-19 |
|
TIME |
— |
8 octets |
Heure de la journée sans fuseau horaire, avec une précision à la microseconde. |
00:00:00 à 24:00:00 |
12:00:00 |
|
TIMETZ |
— |
12 octets |
Heure de la journée avec fuseau horaire, avec une précision à la microseconde. |
00:00:00 à 24:00:00 |
12:00:00+08 |
|
INTERVAL |
— |
16 octets |
Intervalle de temps. |
-178 000 000 ans à 178 000 000 ans |
interval '1 year' |
|
JSON |
— |
Variable |
Type JSON. Pour plus de détails, consultez . |
Aucune |
Aucun |
|
JSONB |
— |
Variable |
Type JSON binaire. Pour plus de détails, consultez . |
Aucune |
Aucun |
|
BYTEA |
— |
Variable |
Chaîne binaire de longueur variable. La taille de stockage ne dépasse pas 1 Go. Pour plus de détails, consultez Binary Data Types. |
Aucune |
Aucun |
|
BIT(n) |
— |
n bits |
Chaîne de bits de longueur fixe. La taille de stockage ne dépasse pas 1 Go. |
Aucune |
Aucun |
|
VARBIT(n) |
— |
Variable, jusqu'à n bits |
Chaîne de bits de longueur variable. La taille de stockage ne dépasse pas 1 Go. |
Aucune |
Aucun |
|
INET |
— |
Variable |
Adresse d'hôte IPv4 ou IPv6. Pour plus de détails, consultez Network address types. |
Aucune |
192.168.100.128/25 |
|
MONEY |
— |
8 octets |
Montant monétaire avec une précision fractionnaire fixe. Pour plus de détails, consultez Currency types. |
-92 233 720 368 547 758,08 à +92 233 720 368 547 758,07 |
12,34 USD |
|
OID |
— |
4 octets |
Identifiant d'objet numérique. |
Aucune |
1024 |
|
UUID |
— |
16 octets |
Identifiant unique universel (UUID), valeur de 128 bits de longueur fixe. Les algorithmes uuid-ossp ne sont pas pris en charge actuellement. |
00000000-0000-0000-0000-000000000000 à ffffffff-ffff-ffff-ffff-ffffffffffff |
a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11 |
|
SERIAL |
— |
Variable |
Séquence à incrémentation automatique. Pour plus de détails, consultez Séquence à incrémentation automatique. |
Aucune |
Aucun |
|
RoaringBitmap |
— |
Variable |
Tableau INT efficace prenant en charge les opérations bitmap sur tableaux constants. Pour plus de détails, consultez Fonctions RoaringBitmap. |
Aucune |
Aucun |
|
RoaringBitmap64 |
— |
Variable |
Tableau BIGINT efficace prenant en charge les opérations bitmap sur tableaux constants. Pour plus de détails, consultez Fonctions RoaringBitmap. |
Aucune |
Aucun |
|
GEOMETRY et GEOGRAPHY |
— |
Variable. Pour plus de détails, consultez Analyse géographique basée sur PostGIS. |
PostGIS est une extension spatiale de PostgreSQL qui fournit des objets spatiaux, des index spatiaux, des fonctions d'opérations spatiales et des opérateurs spatiaux. Les performances ont été améliorées à partir de la version V1.3. |
Aucune |
Aucun |
Disponibilité des versions : Les types non disponibles dans toutes les versions ont été ajoutés lors de versions spécifiques :
|
Type |
Ajouté dans |
|
DATE, TIMESTAMP, CHAR(n), VARCHAR(n), SERIAL |
Hologres V0.8 |
|
SMALLINT, JSON, JSONB, BYTEA, BIT(n), VARBIT(n), TIMETZ, TIME, INET, MONEY, OID, UUID |
Hologres V0.9 |
|
RoaringBitmap |
Hologres V0.10 |
|
RoaringBitmap64 |
Hologres V3.1 |
|
Tous les autres types |
Toutes les versions Hologres |
Exemples
Les exemples suivants illustrent les opérations DDL et DML courantes pour certains types sélectionnés.
Utilisation et exemples de DECIMAL256
Limites d'utilisation :
DECIMAL256 est pris en charge uniquement à partir de Hologres V4.2.
DECIMAL256 ne peut pas être utilisé comme clé de distribution, clé de clustering, clé de partitionnement, clé de segment, index bitmap ou colonne d'encodage de dictionnaire.
Pris en charge dans les instructions CREATE TABLE et CREATE DYNAMIC TABLE (actualisation complète et incrémentielle).
Compatible avec le stockage orienté ligne, orienté colonne et hybride ligne-colonne.
Fonctions prises en charge : opérations arithmétiques, opérations de comparaison, SUM, AVG, MIN, MAX, CAST et TRY_CAST.
Exemple :
-- Create a table with DECIMAL256 columns
CREATE TABLE financial_transactions (
id INT PRIMARY KEY,
-- Standard DECIMAL(38,19): supports up to 38 digits
amount_standard DECIMAL(38, 19),
-- DECIMAL256(76,38): supports up to 76 digits
amount_high_precision DECIMAL(76, 38),
description TEXT
);
-- Insert high-precision values
INSERT INTO financial_transactions VALUES
(1,
1234567890123456789.1234567890123456789, -- 38-digit precision
'12345678901234567890123456789012345678.12345678901234567890123456789012345678', -- 76-digit precision
'High-precision transaction amount'
);
-- Query the data
SELECT * FROM financial_transactions;
id | amount_standard | amount_high_precision | description
----+-----------------------------------------+-------------------------------------------------------------------------------+----------------------------------
1 | 1234567890123456789.1234567890123456789 | 12345678901234567890123456789012345678.12345678901234567890123456789012345678 | High-precision transaction amount
(1 row)
Exemples de types temporels
TIMESTAMPTZ, DATE et DECIMAL :
CREATE TABLE test_data_type (
tswtz_column TIMESTAMP WITH TIME ZONE,
date_column DATE,
decimal_column DECIMAL(38, 10),
char_column CHAR(20),
varchar_column VARCHAR(225)
);
INSERT INTO test_data_type
VALUES ('2004-10-19 08:08:08', '2004-10-19', 123.456, 'abcd', 'a');
SELECT * FROM test_data_type;
tswtz_column | date_column | decimal_column | char_column | varchar_column
------------------------+-------------+----------------+----------------------+----------------
2004-10-19 08:08:08+08 | 2004-10-19 | 123.4560000000 | abcd | a
(1 row)
BIT, VARBIT et BYTEA :
-- BIT and VARBIT
CREATE TABLE test (a BIT(3), b BIT VARYING(5));
INSERT INTO test VALUES (B'101', B'00');
INSERT INTO test VALUES (B'10', B'101');
ERROR: bit string length 2 does not match type bit(3)
INSERT INTO test VALUES (B'10'::bit(3), B'101');
SELECT * FROM test;
a | b
-----+-----
101 | 00
100 | 101
-- BYTEA (escape output format)
SET bytea_output = 'escape';
SELECT 'abc \153\154\155 \052\251\124'::bytea;
bytea
----------------
abc klm *\251T
RESET bytea_output; -- 'hex' is the default
SELECT 'abc \153\154\155 \052\251\124'::bytea;
bytea
--------------------------
\x616263206b6c6d202aa954
(1 row)
Types tableau
Hologres prend uniquement en charge les tableaux unidimensionnels. Le tableau suivant présente les types tableau pris en charge ainsi que leur syntaxe de déclaration et d'utilisation.
|
Type |
Description |
Déclaration en DDL |
Insertion avec le mot-clé ARRAY |
Insertion avec la syntaxe {} |
Requête d'un élément unique |
Requête d'une plage |
|
int4[] |
Tableau d'entiers unidimensionnel |
|
|
|
|
|
|
int8[] |
Tableau bigint unidimensionnel |
|
|
|
|
|
|
float4[] |
Tableau real unidimensionnel |
|
|
|
|
|
|
float8[] |
Tableau double precision unidimensionnel |
|
|
|
|
|
|
boolean[] |
Tableau booléen unidimensionnel |
|
|
|
|
|
|
text[] |
Tableau text unidimensionnel |
|
|
|
|
|
Exemple complet :
-- Declare
CREATE TABLE array_example(
int4_array int4[],
int8_array int8[],
float4_array float4[],
float8_array float8[],
boolean_array boolean[],
text_array text[]
);
-- Insert using the ARRAY keyword
INSERT INTO array_example(int4_array, int8_array, float4_array, float8_array, boolean_array, text_array)
VALUES (
ARRAY[1, 2, 3, 4],
ARRAY[1, 2, 3, 4],
ARRAY[1.0, 2.0],
ARRAY[1.0, 2.0, 3.0],
ARRAY[true, true, false],
ARRAY['foo1', 'foo2', 'foo3']
);
-- Insert using the {} syntax
INSERT INTO array_example(int4_array, int8_array, float4_array, float8_array, boolean_array, text_array)
VALUES (
'{1, 2, 3, 4}',
'{1, 2, 3, 4}',
'{1.0, 2.0}',
'{1.0, 2.0, 3.0}',
'{true, true, false}',
'{"foo1", "foo2", "foo3"}'
);
-- Query a single element (1-based index)
SELECT int4_array[3] FROM array_example;
-- Query a range
SELECT int4_array[1:2] FROM array_example;
Correspondance des types de données entre MaxCompute et Hologres
Le tableau suivant indique comment les types MaxCompute sont mappés aux types Hologres lors de la création d'une table externe MaxCompute.
Si une table MaxCompute contient des champs de types non pris en charge, vous pouvez tout de même interroger les champs compatibles, à condition que la requête n'accède pas aux champs non pris en charge.
|
Type MaxCompute |
Type Hologres |
Disponible depuis |
Notes |
|
JSON |
JSONB |
Hologres V4.1 |
— |
|
STRING, VARCHAR |
TEXT |
Toutes les versions |
— |
|
BIGINT |
INT8 |
Toutes les versions |
— |
|
INT |
INT4, INT |
Toutes les versions |
— |
|
FLOAT |
FLOAT4, REAL |
Toutes les versions |
— |
|
DOUBLE |
FLOAT, FLOAT8 |
Toutes les versions |
— |
|
BOOLEAN |
BOOL |
Toutes les versions |
— |
|
DATETIME |
TIMESTAMP WITH TIME ZONE |
Toutes les versions |
Le type DATETIME de MaxCompute utilise l'heure normale de Chine (UTC+8). Plage : du 1er janvier 0000 au 31 décembre 9999, avec une précision à la milliseconde. |
|
DECIMAL |
NUMERIC |
Toutes les versions |
La précision par défaut est (38,18) si elle n'est pas spécifiée. Lors de l'utilisation de IMPORT FOREIGN SCHEMA pour créer une table, le système convertit automatiquement la précision. |
|
TIMESTAMP |
TIMESTAMP WITH TIME ZONE |
Hologres V0.8 |
Plage TIMESTAMP MaxCompute : 0000-01-01 00:00:00.000000000 à 9999-12-31 23:59:59.999999999 (précision à la nanoseconde). Le type TIMESTAMPTZ de Hologres utilise une précision à la milliseconde ; la conversion de précision s'effectue automatiquement lors des lectures. |
|
CHAR(n) |
CHAR(n) (par défaut) ; TEXT (optionnel) |
Hologres V0.8 |
Type caractère de longueur fixe ; n représente la longueur, 255 au maximum. Complété par des espaces si la longueur est inférieure à n. Pour mapper vers TEXT, définissez |
|
VARCHAR(n) |
VARCHAR(n) (par défaut) ; TEXT (optionnel) |
Hologres V0.8 |
Type caractère de longueur variable ; n varie de 1 à 65 535. Pour mapper vers TEXT, définissez |
|
DATE |
DATE |
Hologres V0.8 |
— |
|
SMALLINT |
INT2 (par défaut) ; INT8 (optionnel) |
Toutes les versions (INT4 en V0.8, INT2 en V0.9) |
Pour mapper vers INT8, définissez |
|
TINYINT |
INT2 (par défaut) ; INT8 (optionnel) |
Toutes les versions (INT4 en V0.8, INT2 en V0.9) |
Pour mapper vers INT8, définissez |
|
CHAR (sans longueur) |
Non pris en charge |
Non pris en charge |
— |
|
ARRAY\<INT\> |
INT4[] |
Hologres V0.8 |
— |
|
ARRAY\<BIGINT\> |
INT8[] |
Hologres V0.8 |
— |
|
ARRAY\<FLOAT\> |
FLOAT4[] |
Hologres V0.8 |
— |
|
ARRAY\<DOUBLE\> |
FLOAT8[] |
Hologres V0.8 |
— |
|
ARRAY\<BOOLEAN\> |
BOOLEAN[] |
Hologres V0.8 |
— |
|
ARRAY\<STRING\> |
TEXT[] |
Hologres V0.8 |
— |
|
BINARY |
BYTEA |
Hologres V0.9 |
— |
|
ARRAY\<TINYINT\> |
Non pris en charge |
Non pris en charge |
— |
|
ARRAY\<SMALLINT\> |
Non pris en charge |
Non pris en charge |
— |
Correspondance des types de données entre Blink/Flink et Hologres
Le tableau suivant montre comment les types Flink sont mappés aux types Hologres.
Les tables source Binlog ne prennent en charge qu'un sous-ensemble de types de données. Pour plus d'informations, consultez Consommer le Binlog Hologres en temps réel avec Flink/Blink .
|
Type Flink |
Type Hologres |
Version Hologres prise en charge |
Version Flink prise en charge |
|
INT |
INT4, INT |
Toutes les versions |
Toutes les versions |
|
BIGINT |
INT8 |
Toutes les versions |
Toutes les versions |
|
VARCHAR |
TEXT |
Toutes les versions |
Toutes les versions |
|
DOUBLE |
FLOAT, FLOAT8, DOUBLE PRECISION |
Toutes les versions |
Toutes les versions |
|
BOOLEAN |
BOOL |
Toutes les versions |
Toutes les versions |
|
DECIMAL |
NUMERIC |
Toutes les versions |
Toutes les versions |
|
DATE |
DATE |
Hologres V0.8 |
Toutes les versions |
|
TIMESTAMP |
TIMESTAMP WITH TIME ZONE, TIMESTAMPTZ |
Toutes les versions |
Toutes les versions |
|
TIMESTAMP |
TIMESTAMP WITHOUT TIME ZONE, TIMESTAMP |
Toutes les versions |
Toutes les versions. Remarque : Fixed Plan ne prend pas actuellement en charge le type TIME. Pour plus de détails, consultez Fixed Plan. |
|
FLOAT |
FLOAT4, REAL |
Toutes les versions |
Toutes les versions |
|
TINYINT |
SMALLINT |
Toutes les versions |
Sink : VVR-4.0.13-Flink-1.13 et versions ultérieures. Mode RPC non pris en charge. Source : VVR-6.0.3-Flink-1.15 et versions ultérieures. Mode RPC non pris en charge. Dimension : VVR-4.0.13-Flink-1.13 et versions ultérieures. Mode RPC non pris en charge. |
|
SMALLINT |
SMALLINT |
Toutes les versions |
Sink : Toutes les versions. Source : VVR-6.0.3-Flink-1.15 et versions ultérieures. Mode RPC non pris en charge. Dimension : Toutes les versions. |
|
TIME |
TIME et TIMETZ |
Toutes les versions. À partir de Hologres V2.1.24, Fixed Plan prend en charge TIME et TIMETZ. |
Sink : VVR-4.0.13-Flink-1.13 et versions ultérieures. Mode RPC non pris en charge. Source : VVR-6.0.3-Flink-1.15 et versions ultérieures. Mode RPC non pris en charge. Dimension : VVR-4.0.13-Flink-1.13 et versions ultérieures. Mode RPC non pris en charge. Remarque
Fixed Plan ne prend pas en charge le type TIME ; évitez ce type autant que possible. Pour plus de détails, consultez Fixed Plan. |
|
VARCHAR |
JSONB |
Hologres V0.10 |
Sink : VVR-4.0.12-Flink-1.13 et versions ultérieures. Mode RPC non pris en charge. Source : VVR-6.0.3-Flink-1.15 et versions ultérieures. Mode RPC non pris en charge. Dimension : VVR-4.0.12-Flink-1.13 et versions ultérieures. Mode RPC non pris en charge. |
|
VARCHAR |
JSON |
Hologres V0.9 |
Sink : VVR-4.0.12-Flink-1.13 et versions ultérieures. Mode RPC non pris en charge. Source : VVR-6.0.3-Flink-1.15 et versions ultérieures. Mode RPC non pris en charge. Dimension : VVR-4.0.12-Flink-1.13 et versions ultérieures. Mode RPC non pris en charge. |
|
BYTES |
RoaringBitmap |
Hologres V0.10 |
Sink : VVR-4.0.12-Flink-1.13 et versions ultérieures. Mode RPC non pris en charge. Source : VVR-6.0.3-Flink-1.15 et versions ultérieures. Mode RPC non pris en charge. Dimension : VVR-4.0.12-Flink-1.13 et versions ultérieures. Mode RPC non pris en charge. |
|
VARCHAR |
GEOMETRY et GEOGRAPHY |
Toutes les versions. À partir de Hologres V2.1, Fixed Plan prend en charge l'écriture de données GEOMETRY et GEOGRAPHY. |
Sink : VVR-4.0.13-Flink-1.13 et versions ultérieures. Mode RPC non pris en charge. Source : Non pris en charge. Dimension : Non pris en charge. |
|
ARRAY\<INT\> |
int4[] |
Hologres V0.8 |
Sink : Toutes les versions. Source : VVR-6.0.3-Flink-1.15 et versions ultérieures. Mode RPC non pris en charge. Dimension : Toutes les versions. |
|
ARRAY\<BIGINT\> |
int8[] |
Hologres V0.8 |
Sink : Toutes les versions. Source : VVR-6.0.3-Flink-1.15 et versions ultérieures. Mode RPC non pris en charge. Dimension : Toutes les versions. |
|
ARRAY\<FLOAT\> |
float4[] |
Hologres V0.8 |
Sink : Toutes les versions. Source : VVR-6.0.3-Flink-1.15 et versions ultérieures. Mode RPC non pris en charge. Dimension : Toutes les versions. |
|
ARRAY\<DOUBLE\> |
float8[] |
Hologres V0.8 |
Sink : Toutes les versions. Source : VVR-6.0.3-Flink-1.15 et versions ultérieures. Mode RPC non pris en charge. Dimension : Toutes les versions. |
|
ARRAY\<BOOLEAN\> |
boolean[] |
Hologres V0.8 |
Sink : Toutes les versions. Source : VVR-6.0.3-Flink-1.15 et versions ultérieures. Mode RPC non pris en charge. Dimension : Toutes les versions. |
|
ARRAY\<VARCHAR\> |
TEXT[] |
Hologres V0.8 |
Sink : Toutes les versions. Source : VVR-6.0.3-Flink-1.15 et versions ultérieures. Mode RPC non pris en charge. Dimension : Toutes les versions. |
|
ARRAY\<VARCHAR\> |
VARCHAR[] |
Hologres V0.8 |
Sink : Toutes les versions. Source : Hologres V4.0.19 et versions ultérieures, avec le moteur Flink VVR-11.6-JDK11-Flink-1.20. Dimension : Toutes les versions. |
|
CHAR |
Non pris en charge |
Non pris en charge |
Non pris en charge |
|
BINARY |
Non pris en charge |
Non pris en charge |
Non pris en charge |
Lors de l'utilisation de CTAS pour synchroniser des données vers Hologres, les clés primaires DECIMAL sont mappées à TEXT, tandis que les champs DECIMAL hors clé primaire sont mappés à DECIMAL. Pour plus d'informations, consultez Pourquoi la clé primaire d'une table MySQL avec bigint unsigned devient-elle decimal lors de l'enregistrement du Catalog Flink, mais text après synchronisation vers Hologres via CTAS ?
Correspondance des types de données entre MySQL et Hologres
Pour un guide de migration, consultez Migrer MySQL vers Hologres.
|
Type MySQL |
Type Hologres |
|
BIGINT |
BIGINT |
|
BINARY(n) |
BYTEA |
|
BIT |
BOOLEAN |
|
CHAR(n), CHARACTER(n) |
CHAR(n), CHARACTER(n) |
|
DATE |
DATE |
|
DATETIME |
TIMESTAMP WITHOUT TIME ZONE |
|
DECIMAL(p,s), DEC(p,s) |
DECIMAL(p,s), DEC(p,s) |
|
DOUBLE |
DOUBLE PRECISION |
|
FLOAT |
REAL |
|
INT, INTEGER |
INT, INTEGER |
|
MEDIUMINT |
INTEGER |
|
NUMERIC(p,s) |
NUMERIC(p,s) |
|
SMALLINT |
SMALLINT |
|
TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB |
BYTEA |
|
TINYINT |
SMALLINT |
|
TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT |
TEXT |
|
TIME |
TIME WITHOUT TIME ZONE |
|
TIMESTAMP |
TIMESTAMP WITH TIME ZONE |
|
VARBINARY(n), VARBINARY(max) |
BYTEA |
|
VARCHAR(n) |
VARCHAR(n) |
|
VARCHAR(max) |
TEXT |
Correspondance des types de données entre DLF et Hologres
|
Type DLF |
Type Hologres |
|
TINYINT |
SMALLINT |
|
SMALLINT |
SMALLINT |
|
INT |
INT |
|
BIGINT |
BIGINT |
|
BOOLEAN |
BOOLEAN |
|
FLOAT |
REAL |
|
DOUBLE |
DOUBLE PRECISION |
|
DATE |
DATE |
|
TIMESTAMP |
TIMESTAMP WITHOUT TIME ZONE |
|
STRING |
TEXT |
|
BINARY |
BYTEA |
|
DECIMAL(m,n) |
NUMERIC(m,n) |
|
VARCHAR(n) |
CHARACTER VARYING(n) |
|
CHAR(n) |
CHAR(n) |
|
ARRAY\<type\> |
ARRAY\<hologres_data_type\>. Types d'éléments pris en charge : INT, BIGINT, FLOAT, BOOLEAN, DOUBLE, STRING |
Correspondance des types de données entre Hive et Hologres
|
Type Hive |
Type Hologres |
|
TINYINT |
SMALLINT |
|
SMALLINT |
SMALLINT |
|
INT |
INT |
|
BIGINT |
BIGINT |
|
FLOAT |
REAL |
|
DOUBLE |
DOUBLE PRECISION |
|
DECIMAL |
NUMERIC |
|
NUMERIC |
NUMERIC |
|
DATE |
DATE |
|
TIMESTAMP |
TIMESTAMP WITHOUT TIME ZONE |
|
STRING |
TEXT |
|
VARCHAR |
VARCHAR |
|
CHAR |
CHAR |
|
BINARY |
BYTEA |
|
BOOL |
BOOLEAN |
|
ARRAY\<type\> |
ARRAY\<hologres_data_type\>. Types d'éléments pris en charge : INT, BIGINT, FLOAT, BOOLEAN, DOUBLE PRECISION, STRING |
Correspondance des types de données entre Hudi et Hologres
Cette correspondance est prise en charge à partir de Hologres V1.3.
|
Type Hudi |
Type Hologres |
|
IntegerType |
INT |
|
LongType |
BIGINT |
|
FloatType |
REAL |
|
DoubleType |
DOUBLE PRECISION |
|
DecimalType |
NUMERIC |
|
TimestampType |
TIMESTAMP WITHOUT TIME ZONE |
|
DateType |
DATE |
|
YearMonthIntervalType |
Non pris en charge |
|
DayTimeIntervalType |
Non pris en charge |
|
StringType |
TEXT |
|
VarcharType |
Non pris en charge |
|
CharType |
Non pris en charge |
|
BooleanType |
BOOL |
|
BinaryType |
BYTEA |
|
ByteType |
Non pris en charge |
|
ShortType |
Non pris en charge |
|
ArrayType(elementType, containsNull) |
ARRAY\<hologres_data_type\>. Types d'éléments pris en charge : INT, BIGINT, FLOAT, BOOLEAN, DOUBLE PRECISION, STRING |
Correspondance des types de données entre Delta Lake et Hologres
Cette correspondance est prise en charge à partir de Hologres V1.3.
|
Type Delta Lake |
Type Hologres |
|
TINYINT |
SMALLINT |
|
SMALLINT |
SMALLINT |
|
INT |
INT |
|
BIGINT |
BIGINT |
|
FLOAT |
REAL |
|
DOUBLE |
DOUBLE PRECISION |
|
DECIMAL(p,s) |
NUMERIC |
|
TIMESTAMP |
TIMESTAMP WITHOUT TIME ZONE |
|
DATE |
DATE |
|
INTERVAL intervalQualifier |
Non pris en charge |
|
STRING |
TEXT |
|
BOOLEAN |
BOOLEAN |
|
BINARY |
BYTEA |
|
ARRAY\<elementType\> |
ARRAY\<hologres_data_type\>. Types d'éléments pris en charge : INT, BIGINT, FLOAT, BOOLEAN, DOUBLE PRECISION, STRING |
Correspondance des types de données entre Paimon et Hologres
|
Type Paimon |
Type Hologres |
|
TINYINT |
SMALLINT |
|
SMALLINT |
SMALLINT |
|
INT |
INT |
|
BIGINT |
BIGINT |
|
FLOAT |
REAL |
|
DOUBLE |
DOUBLE PRECISION |
|
DECIMAL(p,s) |
DECIMAL |
|
TIMESTAMP |
TIMESTAMP WITHOUT TIME ZONE |
|
DATE |
DATE |
|
CHAR |
CHAR |
|
VARCHAR |
VARCHAR |
|
BINARY |
BYTEA |
|
BLOB |
BYTES (pris en charge à partir de la V4.2) |
|
ARRAY |
ARRAY\<hologres_data_type\>. Types d'éléments pris en charge : INT, BIGINT, FLOAT, BOOLEAN, DOUBLE PRECISION, STRING |
Correspondance des types de données entre Iceberg et Hologres
|
Type Iceberg |
Type Hologres |
|
BOOLEAN |
BOOLEAN |
|
INT |
INTEGER |
|
LONG |
BIGINT |
|
FLOAT |
REAL |
|
DOUBLE |
DOUBLE PRECISION |
|
DECIMAL(P,S) |
NUMERIC(P,S) |
|
DATE |
DATE |
|
TIME |
TEXT (Spark ne prend pas en charge le type TIME. Le type TIME de Flink devient STRING lors de l'écriture vers DLF.) |
|
TIMESTAMP |
TIMESTAMP WITHOUT TIME ZONE |
|
TIMESTAMPTZ |
Non pris en charge |
|
STRING |
TEXT |
|
UUID |
Non pris en charge (Flink et Spark ne peuvent pas écrire ce type.) |
|
FIXED(L) |
BYTEA |
|
BINARY |
BYTEA |
|
LIST |
ARRAY\<hologres_data_type\>. Types d'éléments pris en charge : INT, BIGINT, FLOAT, BOOLEAN, DOUBLE PRECISION, STRING |
|
STRUCT |
Non pris en charge |
|
MAP |
Non pris en charge |