Hologres es compatible de forma nativa con diversos tipos de datos de PostgreSQL e incorpora nuevos tipos como SPARSEVECTOR. Esta página describe los tipos de datos nativos, los tipos de arreglos unidimensionales y las asignaciones de tipos desde sistemas de origen como MaxCompute, Flink, MySQL, DLF, Hive, Hudi, Delta Lake, Paimon e Iceberg.
Tipos de datos
A continuación se listan todos los tipos de datos que admite Hologres. La mayoría son compatibles con PostgreSQL, mientras que RoaringBitmap, RoaringBitmap64 y SPARSEVECTOR son exclusivos de Hologres. Todos los nombres de tipo y sus alias no distinguen entre mayúsculas y minúsculas en SQL, aunque por convención se muestran en mayúsculas.
|
Nombre |
Alias |
Tamaño de almacenamiento |
Descripción |
Rango de valores |
Ejemplo |
|
INTEGER |
INT, INT4 |
4 bytes |
Entero común. |
-2,147,483,648 a +2,147,483,647 |
2147483647 |
|
BIGINT |
INT8 |
8 bytes |
Entero de rango amplio. |
-9,223,372,036,854,775,808 a +9,223,372,036,854,775,807 |
9223372036854775807 |
|
SMALLINT |
— |
2 bytes |
Entero de rango reducido. |
-32,768 a +32,767 |
32767 |
|
REAL |
FLOAT4 |
4 bytes |
Punto flotante de precisión variable, inexacto. En el ecosistema de PostgreSQL, |
6 dígitos decimales de precisión |
123.123 |
|
DOUBLE PRECISION |
FLOAT8 |
8 bytes |
Punto flotante de precisión variable, inexacto. |
15 dígitos decimales de precisión |
123.123456789123 |
|
DECIMAL |
NUMERIC |
Variable |
Numérico exacto. Especifique tanto PRECISION (total de dígitos, de 0 a 38) como SCALE (dígitos después del punto decimal, de 0 a PRECISION). A partir de la versión V4.2, el modo de alta precisión admite hasta 76 dígitos: PRECISION (de 0 a 76) y SCALE (de 0 a PRECISION). |
Hasta 38 dígitos antes y 38 dígitos después del punto decimal. A partir de la versión V4.2, admite hasta 76 dígitos con alta precisión. |
DECIMAL(38, 10) |
|
BOOLEAN |
BOOL |
1 byte |
Booleano. |
True / False |
True |
|
TEXT |
— |
Variable |
Cadena de longitud variable. Se recomienda usar TEXT en lugar de VARCHAR(n) o CHAR(n) para obtener la máxima flexibilidad. |
Ninguna |
abcdefg |
|
CHAR(n) |
— |
Fijo, hasta n caracteres |
Cadena de caracteres de longitud fija. El tamaño de almacenamiento no supera 1 GB. |
Hasta n caracteres |
abcd |
|
VARCHAR(n) |
— |
Variable, hasta n caracteres |
Cadena de longitud variable con límite de caracteres. El tamaño de almacenamiento no supera 1 GB. |
Hasta n caracteres |
abcdefg |
|
TIMESTAMP WITH TIME ZONE |
TIMESTAMPTZ |
8 bytes |
Marca de tiempo con zona horaria, almacenada con precisión de milisegundos. Si no se especifica un desplazamiento de zona horaria, el sistema agrega automáticamente la zona horaria predeterminada a los datos. |
Del 4713 a. C. al 294276 d. C. |
2004-10-19 10:23:54+02 |
|
TIMESTAMP |
— |
8 bytes |
Marca de tiempo sin zona horaria, almacenada con precisión de microsegundos. |
Del 4713 a. C. al 5874897 d. C. |
2020-01-01 01:01:01.123456 |
|
DATE |
— |
4 bytes |
Fecha con granularidad de día. |
Del 4713 a. C. al 5874897 d. C. |
2004-10-19 |
|
TIME |
— |
8 bytes |
Hora del día sin zona horaria, con precisión de microsegundos. |
00:00:00 a 24:00:00 |
12:00:00 |
|
TIMETZ |
— |
12 bytes |
Hora del día con zona horaria, con precisión de microsegundos. |
00:00:00 a 24:00:00 |
12:00:00+08 |
|
INTERVAL |
— |
16 bytes |
Intervalo de tiempo. |
De -178,000,000 años a 178,000,000 años |
interval '1 year' |
|
JSON |
— |
Variable |
Tipo JSON. Para más detalles, consulte . |
Ninguna |
Ninguna |
|
JSONB |
— |
Variable |
Tipo JSON binario. Para más detalles, consulte . |
Ninguna |
Ninguna |
|
BYTEA |
— |
Variable |
Cadena binaria de longitud variable. El tamaño de almacenamiento no supera 1 GB. Para más detalles, consulte Binary Data Types. |
Ninguna |
Ninguna |
|
BIT(n) |
— |
n bits |
Cadena de bits de longitud fija. El tamaño de almacenamiento no supera 1 GB. |
Ninguna |
Ninguna |
|
VARBIT(n) |
— |
Variable, hasta n bits |
Cadena de bits de longitud variable. El tamaño de almacenamiento no supera 1 GB. |
Ninguna |
Ninguna |
|
INET |
— |
Variable |
Dirección de host IPv4 o IPv6. Para más detalles, consulte Network address types. |
Ninguna |
192.168.100.128/25 |
|
MONEY |
— |
8 bytes |
Importe monetario con precisión fraccionaria fija. Para más detalles, consulte Currency types. |
-92,233,720,368,547,758.08 a +92,233,720,368,547,758.07 |
12.34 USD |
|
OID |
— |
4 bytes |
Identificador numérico de objeto. |
Ninguna |
1024 |
|
UUID |
— |
16 bytes |
Identificador único universal (UUID), un valor de longitud fija de 128 bits. Actualmente no se admiten los algoritmos uuid-ossp. |
00000000-0000-0000-0000-000000000000 a ffffffff-ffff-ffff-ffff-ffffffffffff |
a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11 |
|
SERIAL |
— |
Variable |
Secuencia de incremento automático. Para más detalles, consulte Auto-increment sequence. |
Ninguna |
Ninguna |
|
RoaringBitmap |
— |
Variable |
Arreglo de enteros eficiente que admite operaciones de mapa de bits sobre arreglos constantes. Para más detalles, consulte RoaringBitmap functions. |
Ninguna |
Ninguna |
|
RoaringBitmap64 |
— |
Variable |
Arreglo BIGINT eficiente que admite operaciones de mapa de bits sobre arreglos constantes. Para más detalles, consulte RoaringBitmap functions. |
Ninguna |
Ninguna |
|
SPARSEVECTOR |
— |
Variable. Depende de la cantidad de elementos distintos de cero. |
Tipo de vector disperso. Almacena únicamente los elementos distintos de cero y sus posiciones de índice, lo cual resulta adecuado para cargas de trabajo con vectores dispersos de alta dimensionalidad, como la recuperación de texto y los sistemas de recomendación. |
Un conjunto de pares índice-valor. Las posiciones de índice son números enteros que comienzan en 1 y deben ser menores que el valor term_id_limit del índice de vector disperso; los valores son números de punto flotante. |
'{1:0.1, 50:0.8, 200:0.3}' |
|
GEOMETRY y GEOGRAPHY |
— |
Variable. Para más detalles, consulte PostGIS-based geographic analysis. |
PostGIS es una extensión espacial de PostgreSQL que proporciona objetos espaciales, índices espaciales, funciones de operación espacial y operadores espaciales. Su rendimiento mejoró a partir de la versión V1.3. |
Ninguna |
Ninguna |
Disponibilidad por versión: Los tipos que no están disponibles en todas las versiones se agregaron en lanzamientos específicos:
|
Type |
Added in |
|
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 |
|
Todos los tipos restantes |
Todas las versiones de Hologres |
Ejemplos
A continuación se muestran ejemplos de operaciones comunes de DDL y DML para algunos tipos seleccionados.
Uso y ejemplos de DECIMAL256
Límites de uso:
DECIMAL256 solo es compatible con Hologres V4.2 y versiones posteriores.
DECIMAL256 no se puede usar como clave de distribución, clave de agrupación, clave de partición, clave de segmento, índice de mapa de bits ni columna de codificación de diccionario.
Es compatible con las instrucciones CREATE TABLE y CREATE DYNAMIC TABLE (actualización completa e incremental).
Es compatible con el almacenamiento orientado a filas, orientado a columnas y el híbrido de filas y columnas.
Funciones compatibles: operaciones aritméticas, operaciones de comparación, SUM, AVG, MIN, MAX, CAST y TRY_CAST.
Ejemplo:
-- 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)
Ejemplos de tipos de tiempo
TIMESTAMPTZ, DATE y 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 y 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)
Tipos de arreglo
Hologres solo admite arreglos unidimensionales. En la siguiente tabla se muestran los tipos de arreglo compatibles junto con su sintaxis de declaración y uso.
|
Type |
Description |
Declare in DDL |
Insert with ARRAY keyword |
Insert with {} syntax |
Query single element |
Query a range |
|
int4[] |
Arreglo unidimensional de enteros |
|
|
|
|
|
|
int8[] |
Arreglo unidimensional bigint |
|
|
|
|
|
|
float4[] |
Arreglo unidimensional real |
|
|
|
|
|
|
float8[] |
Arreglo unidimensional double precision |
|
|
|
|
|
|
boolean[] |
Arreglo unidimensional booleano |
|
|
|
|
|
|
text[] |
Arreglo unidimensional de texto |
|
|
|
|
|
Ejemplo completo:
-- 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;
Asignación de tipos de datos entre MaxCompute y Hologres
En la siguiente tabla se muestra cómo se asignan los tipos de MaxCompute a los tipos de Hologres al crear una tabla externa de MaxCompute.
Si una tabla de MaxCompute contiene campos de tipos no compatibles, aún puede consultar los campos compatibles, siempre que la consulta no acceda a los campos no compatibles.
|
MaxCompute type |
Hologres type |
Available since |
Notes |
|
JSON |
JSONB |
Hologres V4.1 |
— |
|
STRING, VARCHAR |
TEXT |
Todas las versiones |
— |
|
BIGINT |
INT8 |
Todas las versiones |
— |
|
INT |
INT4, INT |
Todas las versiones |
— |
|
FLOAT |
FLOAT4, REAL |
Todas las versiones |
— |
|
DOUBLE |
FLOAT, FLOAT8 |
Todas las versiones |
— |
|
BOOLEAN |
BOOL |
Todas las versiones |
— |
|
DATETIME |
TIMESTAMP WITH TIME ZONE |
Todas las versiones |
El tipo DATETIME de MaxCompute usa la hora estándar de China (UTC+8). Rango: del 1 de enero de 0000 al 31 de diciembre de 9999, con precisión de milisegundos. |
|
DECIMAL |
NUMERIC |
Todas las versiones |
La precisión predeterminada es (38,18) cuando no se especifica. Cuando se usa IMPORT FOREIGN SCHEMA para crear una tabla, el sistema convierte la precisión automáticamente. |
|
TIMESTAMP |
TIMESTAMP WITH TIME ZONE |
Hologres V0.8 |
Rango de TIMESTAMP en MaxCompute: de 0000-01-01 00:00:00.000000000 a 9999-12-31 23:59:59.999999999 (precisión de nanosegundos). TIMESTAMPTZ en Hologres usa precisión de milisegundos; la precisión se convierte automáticamente durante las lecturas. |
|
CHAR(n) |
CHAR(n) (predeterminado); TEXT (opcional) |
Hologres V0.8 |
Tipo de carácter de longitud fija; n es la longitud, con un máximo de 255. Se rellena con espacios si es menor que n. Para asignarlo a TEXT, establezca |
|
VARCHAR(n) |
VARCHAR(n) (predeterminado); TEXT (opcional) |
Hologres V0.8 |
Tipo de carácter de longitud variable; n va de 1 a 65,535. Para asignarlo a TEXT, establezca |
|
DATE |
DATE |
Hologres V0.8 |
— |
|
SMALLINT |
INT2 (predeterminado); INT8 (opcional) |
Todas las versiones (INT4 en V0.8, INT2 en V0.9) |
Para asignarlo a INT8, establezca |
|
TINYINT |
INT2 (predeterminado); INT8 (opcional) |
Todas las versiones (INT4 en V0.8, INT2 en V0.9) |
Para asignarlo a INT8, establezca |
|
CHAR (sin longitud) |
No compatible |
No compatible |
— |
|
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\> |
No compatible |
No compatible |
— |
|
ARRAY\<SMALLINT\> |
No compatible |
No compatible |
— |
Asignación de tipos de datos entre Blink/Flink y Hologres
A continuación se muestra cómo se asignan los tipos de Flink a los tipos de Hologres.
Las tablas de origen de binlog solo admiten un subconjunto de tipos de datos. Para obtener más información, consulte Consume Hologres Binlog in real time with Flink/Blink .
|
Tipo de Flink |
Tipo de Hologres |
Versión de Hologres compatible |
Versión de Flink compatible |
|
INT |
INT4, INT |
Todas las versiones |
Todas las versiones |
|
BIGINT |
INT8 |
Todas las versiones |
Todas las versiones |
|
VARCHAR |
TEXT |
Todas las versiones |
Todas las versiones |
|
DOUBLE |
FLOAT, FLOAT8, DOUBLE PRECISION |
Todas las versiones |
Todas las versiones |
|
BOOLEAN |
BOOL |
Todas las versiones |
Todas las versiones |
|
DECIMAL |
NUMERIC |
Todas las versiones |
Todas las versiones |
|
DATE |
DATE |
Hologres V0.8 |
Todas las versiones |
|
TIMESTAMP |
TIMESTAMP WITH TIME ZONE, TIMESTAMPTZ |
Todas las versiones |
Todas las versiones |
|
TIMESTAMP |
TIMESTAMP WITHOUT TIME ZONE, TIMESTAMP |
Todas las versiones |
Todas las versiones. Nota: Fixed Plan no admite actualmente el tipo TIME. Para obtener más detalles, consulte Fixed Plan. |
|
FLOAT |
FLOAT4, REAL |
Todas las versiones |
Todas las versiones |
|
TINYINT |
SMALLINT |
Todas las versiones |
Sink: VVR-4.0.13-Flink-1.13 y posteriores. El modo RPC no es compatible. Source: VVR-6.0.3-Flink-1.15 y posteriores. El modo RPC no es compatible. Dimension: VVR-4.0.13-Flink-1.13 y posteriores. El modo RPC no es compatible. |
|
SMALLINT |
SMALLINT |
Todas las versiones |
Sink: todas las versiones. Source: VVR-6.0.3-Flink-1.15 y posteriores. El modo RPC no es compatible. Dimension: todas las versiones. |
|
TIME |
TIME y TIMETZ |
Todas las versiones. A partir de Hologres V2.1.24, Fixed Plan admite TIME y TIMETZ. |
Sink: VVR-4.0.13-Flink-1.13 y posteriores. El modo RPC no es compatible. Source: VVR-6.0.3-Flink-1.15 y posteriores. El modo RPC no es compatible. Dimension: VVR-4.0.13-Flink-1.13 y posteriores. El modo RPC no es compatible. Nota
Fixed Plan no admite el tipo TIME; evite usarlo siempre que sea posible. Para obtener más detalles, consulte Fixed Plan. |
|
VARCHAR |
JSONB |
Hologres V0.10 |
Sink: VVR-4.0.12-Flink-1.13 y posteriores. El modo RPC no es compatible. Source: VVR-6.0.3-Flink-1.15 y posteriores. El modo RPC no es compatible. Dimension: VVR-4.0.12-Flink-1.13 y posteriores. El modo RPC no es compatible. |
|
VARCHAR |
JSON |
Hologres V0.9 |
Sink: VVR-4.0.12-Flink-1.13 y posteriores. El modo RPC no es compatible. Source: VVR-6.0.3-Flink-1.15 y posteriores. El modo RPC no es compatible. Dimension: VVR-4.0.12-Flink-1.13 y posteriores. El modo RPC no es compatible. |
|
BYTES |
RoaringBitmap |
Hologres V0.10 |
Sink: VVR-4.0.12-Flink-1.13 y posteriores. El modo RPC no es compatible. Source: VVR-6.0.3-Flink-1.15 y posteriores. El modo RPC no es compatible. Dimension: VVR-4.0.12-Flink-1.13 y posteriores. El modo RPC no es compatible. |
|
VARCHAR |
GEOMETRY y GEOGRAPHY |
Todas las versiones. A partir de Hologres V2.1, Fixed Plan admite la escritura de datos GEOMETRY y GEOGRAPHY. |
Sink: VVR-4.0.13-Flink-1.13 y posteriores. El modo RPC no es compatible. Source: no compatible. Dimension: no compatible. |
|
ARRAY\<INT\> |
int4[] |
Hologres V0.8 |
Sink: todas las versiones. Source: VVR-6.0.3-Flink-1.15 y posteriores. El modo RPC no es compatible. Dimension: todas las versiones. |
|
ARRAY\<BIGINT\> |
int8[] |
Hologres V0.8 |
Sink: todas las versiones. Source: VVR-6.0.3-Flink-1.15 y posteriores. El modo RPC no es compatible. Dimension: todas las versiones. |
|
ARRAY\<FLOAT\> |
float4[] |
Hologres V0.8 |
Sink: todas las versiones. Source: VVR-6.0.3-Flink-1.15 y posteriores. El modo RPC no es compatible. Dimension: todas las versiones. |
|
ARRAY\<DOUBLE\> |
float8[] |
Hologres V0.8 |
Sink: todas las versiones. Source: VVR-6.0.3-Flink-1.15 y posteriores. El modo RPC no es compatible. Dimension: todas las versiones. |
|
ARRAY\<BOOLEAN\> |
boolean[] |
Hologres V0.8 |
Sink: todas las versiones. Source: VVR-6.0.3-Flink-1.15 y posteriores. El modo RPC no es compatible. Dimension: todas las versiones. |
|
ARRAY\<VARCHAR\> |
TEXT[] |
Hologres V0.8 |
Sink: todas las versiones. Source: VVR-6.0.3-Flink-1.15 y posteriores. El modo RPC no es compatible. Dimension: todas las versiones. |
|
ARRAY\<VARCHAR\> |
VARCHAR[] |
Hologres V0.8 |
Sink: todas las versiones. Source: Hologres V4.0.19 y posteriores, con el motor de Flink VVR-11.6-JDK11-Flink-1.20. Dimension: todas las versiones. |
|
CHAR |
No compatible |
No compatible |
No compatible |
|
BINARY |
No compatible |
No compatible |
No compatible |
Cuando se usa CTAS para sincronizar datos con Hologres, las claves primarias DECIMAL se asignan a TEXT, mientras que los campos DECIMAL que no son clave primaria se asignan a DECIMAL. Para obtener más información, consulte Why does the primary key of a MySQL table with bigint unsigned become decimal when registering the Flink Catalog, but become text after synchronizing to Hologres using CTAS?
Asignación de tipos de datos entre MySQL y Hologres
Para consultar una guía paso a paso sobre la migración, consulte Migrate MySQL to Hologres.
|
MySQL type |
Hologres type |
|
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 |
Asignación de tipos de datos entre DLF y Hologres
|
DLF type |
Hologres type |
|
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\>. Tipos de elemento compatibles: INT, BIGINT, FLOAT, BOOLEAN, DOUBLE, STRING |
Asignación de tipos de datos entre Hive y Hologres
|
Hive type |
Hologres type |
|
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\>. Tipos de elemento compatibles: INT, BIGINT, FLOAT, BOOLEAN, DOUBLE PRECISION, STRING |
Asignación de tipos de datos entre Hudi y Hologres
Esta asignación es compatible con Hologres V1.3 y versiones posteriores.
|
Hudi type |
Hologres type |
|
IntegerType |
INT |
|
LongType |
BIGINT |
|
FloatType |
REAL |
|
DoubleType |
DOUBLE PRECISION |
|
DecimalType |
NUMERIC |
|
TimestampType |
TIMESTAMP WITHOUT TIME ZONE |
|
DateType |
DATE |
|
YearMonthIntervalType |
No compatible |
|
DayTimeIntervalType |
No compatible |
|
StringType |
TEXT |
|
VarcharType |
No compatible |
|
CharType |
No compatible |
|
BooleanType |
BOOL |
|
BinaryType |
BYTEA |
|
ByteType |
No compatible |
|
ShortType |
No compatible |
|
ArrayType(elementType, containsNull) |
ARRAY\<hologres_data_type\>. Tipos de elemento compatibles: INT, BIGINT, FLOAT, BOOLEAN, DOUBLE PRECISION, STRING |
Asignación de tipos de datos entre Delta Lake y Hologres
Esta asignación es compatible con Hologres V1.3 y versiones posteriores.
|
Delta Lake type |
Hologres type |
|
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 |
No compatible |
|
STRING |
TEXT |
|
BOOLEAN |
BOOLEAN |
|
BINARY |
BYTEA |
|
ARRAY\<elementType\> |
ARRAY\<hologres_data_type\>. Tipos de elemento compatibles: INT, BIGINT, FLOAT, BOOLEAN, DOUBLE PRECISION, STRING |
Asignación de tipos de datos entre Paimon y Hologres
|
Paimon type |
Hologres type |
|
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 (compatible a partir de V4.2) |
|
ARRAY |
ARRAY\<hologres_data_type\>. Tipos de elemento compatibles: INT, BIGINT, FLOAT, BOOLEAN, DOUBLE PRECISION, STRING |
Asignación de tipos de datos entre Iceberg y Hologres
|
Iceberg type |
Hologres type |
|
BOOLEAN |
BOOLEAN |
|
INT |
INTEGER |
|
LONG |
BIGINT |
|
FLOAT |
REAL |
|
DOUBLE |
DOUBLE PRECISION |
|
DECIMAL(P,S) |
NUMERIC(P,S) |
|
DATE |
DATE |
|
TIME |
TEXT (Spark no admite el tipo TIME. El tipo TIME de Flink se convierte en STRING al escribirse en DLF). |
|
TIMESTAMP |
TIMESTAMP WITHOUT TIME ZONE |
|
TIMESTAMPTZ |
No compatible |
|
STRING |
TEXT |
|
UUID |
No compatible (Flink y Spark no pueden escribir este tipo). |
|
FIXED(L) |
BYTEA |
|
BINARY |
BYTEA |
|
LIST |
ARRAY\<hologres_data_type\>. Tipos de elemento compatibles: INT, BIGINT, FLOAT, BOOLEAN, DOUBLE PRECISION, STRING |
|
STRUCT |
No compatible |
|
MAP |
No compatible |