Hologres est nativement compatible avec une large gamme de types de données PostgreSQL et introduit de nouveaux types tels que SPARSEVECTOR. Cette rubrique présente les types de données natifs, les types de tableaux unidimensionnels ainsi que les correspondances de types avec les systèmes en amont, notamment MaxCompute, Flink, MySQL, DLF, Hive, Hudi, Delta Lake, Paimon et Iceberg.
Types de données
Le tableau suivant répertorie l'ensemble des types de données pris en charge par Hologres. La plupart sont compatibles avec PostgreSQL, tandis que RoaringBitmap, RoaringBitmap64 et SPARSEVECTOR sont spécifiques à Hologres. Les noms de types et leurs alias ne sont pas sensibles à la casse dans les instructions SQL, mais sont conventionnellement affichés en majuscules.
|
Name |
Aliases |
Storage size |
Description |
Value range |
Example |
|
INTEGER |
INT, INT4 |
4 bytes |
Common integer. |
-2,147,483,648 to +2 147 483 647 |
2147483647 |
|
BIGINT |
INT8 |
8 bytes |
Large-range integer. |
-9,223,372,036,854,775,808 to +9 223 372 036 854 775 807 |
9223372036854775807 |
|
SMALLINT |
— |
2 bytes |
Small-range integer. |
-32,768 to +32 767 |
32767 |
|
REAL |
FLOAT4 |
4 bytes |
Variable-precision floating point, inexact. In the PostgreSQL ecosystem, |
6 decimal digits of precision |
123.123 |
|
DOUBLE PRECISION |
FLOAT8 |
8 bytes |
Variable-precision floating point, inexact. |
15 decimal digits of precision |
123.123456789123 |
|
DECIMAL |
NUMERIC |
Variable |
Exact numeric. Specify both PRECISION (total digits, 0–38) and SCALE (digits after the decimal point, 0–PRECISION). From V4.2, high-precision mode supports up to 76 digits: PRECISION (0–76) and SCALE (0–PRECISION). |
Up to 38 digits before and 38 digits after the decimal point. From V4.2, supports up to 76 digits with high precision. |
DECIMAL(38, 10) |
|
BOOLEAN |
BOOL |
1 byte |
Boolean. |
True / False |
True |
|
TEXT |
— |
Variable |
Variable-length string. Prefer TEXT over VARCHAR(n) or CHAR(n) for maximum flexibility. |
None |
abcdefg |
|
CHAR(n) |
— |
Fixed, up to n characters |
Fixed-length character string. Storage size does not exceed 1 GB. |
Up to n characters |
abcd |
|
VARCHAR(n) |
— |
Variable, up to n characters |
Variable-length string with a character limit. Storage size does not exceed 1 GB. |
Up to n characters |
abcdefg |
|
TIMESTAMP WITH TIME ZONE |
TIMESTAMPTZ |
8 bytes |
Timestamp with time zone, stored with millisecond precision. If no time zone offset is specified, the system automatically adds the default time zone to the data. |
4713 BC to 294276 AD |
2004-10-19 10:23:54+02 |
|
TIMESTAMP |
— |
8 bytes |
Timestamp without time zone, stored with microsecond precision. |
4713 BC to 5874897 AD |
2020-01-01 01:01:01.123456 |
|
DATE |
— |
4 bytes |
Date, with day granularity. |
4713 BC to 5874897 AD |
2004-10-19 |
|
TIME |
— |
8 bytes |
Time of day without time zone, with microsecond precision. |
00:00:00 to 24:00:00 |
12:00:00 |
|
TIMETZ |
— |
12 bytes |
Time of day with time zone, with microsecond precision. |
00:00:00 to 24:00:00 |
12:00:00+08 |
|
INTERVAL |
— |
16 bytes |
Time interval. |
-178,000,000 years to 178 000 000 years |
interval '1 year' |
|
JSON |
— |
Variable |
JSON type. For details, see . |
None |
None |
|
JSONB |
— |
Variable |
Binary JSON type. For details, see . |
None |
None |
|
BYTEA |
— |
Variable |
Variable-length binary string. Storage size does not exceed 1 GB. For details, see Binary Data Types. |
None |
None |
|
BIT(n) |
— |
n bits |
Fixed-length bit string. Storage size does not exceed 1 GB. |
None |
None |
|
VARBIT(n) |
— |
Variable, up to n bits |
Variable-length bit string. Storage size does not exceed 1 GB. |
None |
None |
|
INET |
— |
Variable |
IPv4 or IPv6 host address. For details, see Network address types. |
None |
192.168.100.128/25 |
|
MONEY |
— |
8 bytes |
Currency amount with fixed fractional precision. For details, see Currency types. |
-92,233,720,368,547,758,08 to +92 233 720 368 547 758,07 |
12.34 USD |
|
OID |
— |
4 bytes |
Numeric object identifier. |
None |
1024 |
|
UUID |
— |
16 bytes |
Universally unique identifier (UUID), fixed-length 128-bit value. uuid-ossp algorithms are not currently supported. |
00000000-0000-0000-0000-000000000000 to ffffffff-ffff-ffff-ffff-ffffffffffff |
a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11 |
|
SERIAL |
— |
Variable |
Auto-increment sequence. For details, see Séquence d'incrémentation automatique. |
None |
None |
|
RoaringBitmap |
— |
Variable |
Efficient INT array that supports constant array bitmap operations. For details, see Fonctions RoaringBitmap. |
None |
None |
|
RoaringBitmap64 |
— |
Variable |
Efficient BIGINT array that supports constant array bitmap operations. For details, see Fonctions RoaringBitmap. |
None |
None |
|
SPARSEVECTOR |
— |
Variable. Depends on the number of non-zero elements. |
Sparse vector type. Stores only the non-zero elements and their index positions, which suits high-dimensional sparse vector workloads such as text retrieval and recommendation systems. |
A set of index-value pairs. Index positions are integers that start at 1 and must be smaller than the term_id_limit value of the sparse vector index; values are floating-point numbers. |
'{1:0.1, 50:0.8, 200:0.3}' |
|
GEOMETRY and GEOGRAPHY |
— |
Variable. For details, see Analyse géographique basée sur PostGIS. |
PostGIS is a spatial extension of PostgreSQL that provides spatial objects, spatial indexes, spatial operation functions, and spatial operators. Performance is improved from V1.3. |
None |
None |
Disponibilité selon la version : 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 |
|
SPARSEVECTOR |
Hologres V5.0 |
|
Tous les autres types |
Toutes les versions de Hologres |
Exemples
Les exemples suivants illustrent des opérations courantes de DDL et de DML 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 partition, clé de segment, index bitmap ou colonne avec encodage de dictionnaire.
Pris en charge dans les instructions CREATE TABLE et CREATE DYNAMIC TABLE (actualisation complète et incrémentielle).
Pris en charge dans 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 de tableaux
Hologres prend uniquement en charge les tableaux unidimensionnels. Le tableau suivant présente les types de tableaux 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 {} |
Interrogation d'un élément unique |
Interrogation d'une plage |
|
int4[] |
Tableau d'entiers unidimensionnel |
|
|
|
|
|
|
int8[] |
Tableau bigint unidimensionnel |
|
|
|
|
|
|
float4[] |
Tableau real unidimensionnel |
|
|
|
|
|
|
float8[] |
Tableau double precision unidimensionnel |
|
|
|
|
|
|
boolean[] |
Tableau boolean 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 présente la correspondance des types MaxCompute vers les types Hologres lors de la création d'une table externe MaxCompute.
Si une table MaxCompute contient des champs dont le type n'est pas pris en charge, vous pouvez toujours interroger les champs pris en charge, à 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) lorsqu'elle n'est pas spécifiée. Lorsque vous utilisez 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 de 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 précision est convertie automatiquement lors de la lecture. |
|
CHAR(n) |
CHAR(n) (par défaut) ; TEXT (facultatif) |
Hologres V0.8 |
Type de caractère de longueur fixe ; n représente la longueur, avec un maximum de 255. Rempli d'espaces si la longueur est inférieure à n. Pour mapper vers TEXT, définissez |
|
VARCHAR(n) |
VARCHAR(n) (par défaut) ; TEXT (facultatif) |
Hologres V0.8 |
Type de 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 (facultatif) |
Toutes les versions (INT4 dans la V0.8, INT2 dans la V0.9) |
Pour mapper vers INT8, définissez |
|
TINYINT |
INT2 (par défaut) ; INT8 (facultatif) |
Toutes les versions (INT4 dans la V0.8, INT2 dans la 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 présente la correspondance entre les types Flink et les 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. Le mode RPC n'est pas pris en charge. Source : VVR-6.0.3-Flink-1.15 et versions ultérieures. Le mode RPC n'est pas pris en charge. Dimension : VVR-4.0.13-Flink-1.13 et versions ultérieures. Le mode RPC n'est pas pris en charge. |
|
SMALLINT |
SMALLINT |
Toutes les versions |
Sink : Toutes les versions. Source : VVR-6.0.3-Flink-1.15 et versions ultérieures. Le mode RPC n'est pas 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. Le mode RPC n'est pas pris en charge. Source : VVR-6.0.3-Flink-1.15 et versions ultérieures. Le mode RPC n'est pas pris en charge. Dimension : VVR-4.0.13-Flink-1.13 et versions ultérieures. Le mode RPC n'est pas pris en charge. Remarque
Fixed Plan ne prend pas en charge le type TIME ; évitez ce type dans la mesure du 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. Le mode RPC n'est pas pris en charge. Source : VVR-6.0.3-Flink-1.15 et versions ultérieures. Le mode RPC n'est pas pris en charge. Dimension : VVR-4.0.12-Flink-1.13 et versions ultérieures. Le mode RPC n'est pas pris en charge. |
|
VARCHAR |
JSON |
Hologres V0.9 |
Sink : VVR-4.0.12-Flink-1.13 et versions ultérieures. Le mode RPC n'est pas pris en charge. Source : VVR-6.0.3-Flink-1.15 et versions ultérieures. Le mode RPC n'est pas pris en charge. Dimension : VVR-4.0.12-Flink-1.13 et versions ultérieures. Le mode RPC n'est pas pris en charge. |
|
BYTES |
RoaringBitmap |
Hologres V0.10 |
Sink : VVR-4.0.12-Flink-1.13 et versions ultérieures. Le mode RPC n'est pas pris en charge. Source : VVR-6.0.3-Flink-1.15 et versions ultérieures. Le mode RPC n'est pas pris en charge. Dimension : VVR-4.0.12-Flink-1.13 et versions ultérieures. Le mode RPC n'est pas pris en charge. |
|
VARCHAR |
GEOMETRY et GEOGRAPHY |
Toutes les versions. À partir de Hologres V2.1, Fixed Plan prend en charge l'écriture des données GEOMETRY et GEOGRAPHY. |
Sink : VVR-4.0.13-Flink-1.13 et versions ultérieures. Le mode RPC n'est pas 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. Le mode RPC n'est pas 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. Le mode RPC n'est pas 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. Le mode RPC n'est pas 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. Le mode RPC n'est pas 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. Le mode RPC n'est pas 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. Le mode RPC n'est pas 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 les données vers Hologres, les clés primaires DECIMAL sont mappées sur TEXT, tandis que les champs DECIMAL non clés primaires sont mappés sur 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 catalogue Flink, mais devient-elle text après la synchronisation vers Hologres à l'aide de 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
Ce mappage est pris en charge dans Hologres V1.3 et versions ultérieures.
|
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
Ce mappage est pris en charge dans Hologres V1.3 et versions ultérieures.
|
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 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 dans 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 |