Hologres は、PostgreSQL のさまざまなデータ型とネイティブに互換性があり、SPARSEVECTOR などの新しい型も追加されています。このページでは、ネイティブデータ型、1次元配列型、および MaxCompute、Flink、MySQL、DLF、Hive、Hudi、Delta Lake、Paimon、Iceberg などの上流システムからの型マッピングについて説明します。
データ型
次の表は、Hologres でサポートされているすべてのデータ型の一覧です。ほとんどは PostgreSQL と互換性がありますが、RoaringBitmap、RoaringBitmap64、SPARSEVECTOR は Hologres 固有の型です。すべての型名とエイリアスは SQL では大文字と小文字を区別しませんが、慣例として大文字で表記されます。
|
名前 |
エイリアス |
ストレージサイズ |
説明 |
値の範囲 |
例 |
|
INTEGER |
INT, INT4 |
4 バイト |
一般的な整数。 |
-2,147,483,648 から +2,147,483,647 |
2147483647 |
|
BIGINT |
INT8 |
8 バイト |
広範囲の整数。 |
-9,223,372,036,854,775,808 から +9,223,372,036,854,775,807 |
9223372036854775807 |
|
SMALLINT |
— |
2 バイト |
小範囲の整数。 |
-32,768 から +32,767 |
32767 |
|
REAL |
FLOAT4 |
4 バイト |
可変精度の浮動小数点、不正確。PostgreSQL エコシステムでは、精度を指定しない |
10進数で 6 桁の精度 |
123.123 |
|
DOUBLE PRECISION |
FLOAT8 |
8 バイト |
可変精度の浮動小数点、不正確。 |
10進数で 15 桁の精度 |
123.123456789123 |
|
DECIMAL |
NUMERIC |
可変 |
正確な数値。PRECISION (総桁数、0〜38) と SCALE (小数点以下の桁数、0〜PRECISION) の両方を指定します。V4.2 からは、高精度モードで最大 76 桁までサポートされます:PRECISION (0〜76) および SCALE (0〜PRECISION)。 |
小数点の前後に最大 38 桁。V4.2 からは、高精度で最大 76 桁をサポートします。 |
DECIMAL(38, 10) |
|
BOOLEAN |
BOOL |
1 バイト |
ブール値。 |
True / False |
True |
|
TEXT |
— |
可変 |
可変長文字列。柔軟性を最大限に高めるには、VARCHAR(n) や CHAR(n) よりも TEXT を使用することを推奨します。 |
なし |
abcdefg |
|
CHAR(n) |
— |
固定、最大 n 文字 |
固定長文字列。ストレージサイズは 1 GB を超えません。 |
最大 n 文字 |
abcd |
|
VARCHAR(n) |
— |
可変、最大 n 文字 |
文字数制限付きの可変長文字列。ストレージサイズは 1 GB を超えません。 |
最大 n 文字 |
abcdefg |
|
TIMESTAMP WITH TIME ZONE |
TIMESTAMPTZ |
8 バイト |
タイムゾーン付きのタイムスタンプで、ミリ秒精度で格納されます。タイムゾーンオフセットが指定されていない場合、システムは自動的にデフォルトのタイムゾーンをデータに追加します。 |
紀元前 4713 年から西暦 294276 年 |
2004-10-19 10:23:54+02 |
|
TIMESTAMP |
— |
8 バイト |
タイムゾーンなしのタイムスタンプで、マイクロ秒精度で格納されます。 |
紀元前 4713 年から西暦 5874897 年 |
2020-01-01 01:01:01.123456 |
|
DATE |
— |
4 バイト |
日付、日単位の粒度。 |
紀元前 4713 年から西暦 5874897 年 |
2004-10-19 |
|
TIME |
— |
8 バイト |
タイムゾーンなしの時刻、マイクロ秒精度。 |
00:00:00 から 24:00:00 |
12:00:00 |
|
TIMETZ |
— |
12 バイト |
タイムゾーン付きの時刻、マイクロ秒精度。 |
00:00:00 から 24:00:00 |
12:00:00+08 |
|
INTERVAL |
— |
16 バイト |
時間間隔。 |
-178,000,000 年から 178,000,000 年 |
interval '1 year' |
|
JSON |
— |
可変 |
JSON 型。詳細については、「」をご参照ください。 |
なし |
なし |
|
JSONB |
— |
可変 |
バイナリ JSON 型。詳細については、「」をご参照ください。 |
なし |
なし |
|
BYTEA |
— |
可変 |
可変長バイナリ文字列。ストレージサイズは 1 GB を超えません。詳細については、「バイナリデータ型」をご参照ください。 |
なし |
なし |
|
BIT(n) |
— |
n ビット |
固定長ビット文字列。ストレージサイズは 1 GB を超えません。 |
なし |
なし |
|
VARBIT(n) |
— |
可変、最大 n ビット |
可変長ビット文字列。ストレージサイズは 1 GB を超えません。 |
なし |
なし |
|
INET |
— |
可変 |
IPv4 または IPv6 ホストアドレス。詳細については、「ネットワークアドレス型」をご参照ください。 |
なし |
192.168.100.128/25 |
|
MONEY |
— |
8 バイト |
固定小数部精度の通貨量。詳細については、「通貨型」をご参照ください。 |
-92,233,720,368,547,758.08 から +92,233,720,368,547,758.07 |
12.34 USD |
|
OID |
— |
4 バイト |
数値オブジェクト識別子。 |
なし |
1024 |
|
UUID |
— |
16 バイト |
汎用一意識別子 (UUID)、固定長 128 ビット値。uuid-ossp アルゴリズムは現在サポートされていません。 |
00000000-0000-0000-0000-000000000000 から ffffffff-ffff-ffff-ffff-ffffffffffff |
a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11 |
|
SERIAL |
— |
可変 |
自動増分シーケンス。詳細については、「自動増分シーケンス」をご参照ください。 |
なし |
なし |
|
RoaringBitmap |
— |
可変 |
定数時間での配列ビットマップ操作をサポートする効率的な INT 配列。詳細については、「RoaringBitmap 関数」をご参照ください。 |
なし |
なし |
|
RoaringBitmap64 |
— |
可変 |
定数時間での配列ビットマップ操作をサポートする効率的な BIGINT 配列。詳細については、「RoaringBitmap 関数」をご参照ください。 |
なし |
なし |
|
SPARSEVECTOR |
— |
可変。非ゼロ要素の数に依存します。 |
疎ベクトル型。非ゼロ要素とそのインデックス位置のみを格納するため、テキスト検索やレコメンデーションシステムなどの高次元の疎ベクトルワークロードに適しています。 |
インデックスと値のペアのセット。インデックス位置は 1 から始まる整数で、疎ベクトルインデックスの term_id_limit 値より小さくなければなりません。値は浮動小数点数です。 |
'{1:0.1, 50:0.8, 200:0.3}' |
|
GEOMETRY and GEOGRAPHY |
— |
可変。詳細については、「PostGIS ベースの地理分析」をご参照ください。 |
PostGIS は PostgreSQL の空間拡張であり、空間オブジェクト、空間インデックス、空間操作関数、および空間演算子を提供します。パフォーマンスは V1.3 から向上しています。 |
なし |
なし |
バージョンの可用性:すべてのバージョンで利用可能ではない型は、特定のリリースで追加されました:
|
型 |
追加 |
|
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 |
|
その他すべての型 |
すべての Hologres バージョン |
例
以下の例は、選択された型に対する一般的な DDL および DML 操作を示しています。
DECIMAL256 の使用法と例
使用制限:
-
DECIMAL256 は Hologres V4.2 以降でのみサポートされます。
-
DECIMAL256 は、分散キー、クラスタリングキー、パーティションキー、セグメントキー、ビットマップインデックス、またはディクショナリエンコーディング列として使用することはできません。
-
CREATE TABLE および CREATE DYNAMIC TABLE (完全および増分更新) 文でサポートされます。
-
行指向、列指向、および行列ハイブリッドストレージでサポートされます。
-
サポートされる関数:算術演算、比較演算、SUM、AVG、MIN、MAX、CAST、および TRY_CAST。
例:
-- DECIMAL256 列を持つテーブルを作成
CREATE TABLE financial_transactions (
id INT PRIMARY KEY,
-- 標準 DECIMAL(38,19): 最大 38 桁をサポート
amount_standard DECIMAL(38, 19),
-- DECIMAL256(76,38): 最大 76 桁をサポート
amount_high_precision DECIMAL(76, 38),
description TEXT
);
-- 高精度の値を挿入
INSERT INTO financial_transactions VALUES
(1,
1234567890123456789.1234567890123456789, -- 38 桁の精度
'12345678901234567890123456789012345678.12345678901234567890123456789012345678', -- 76 桁の精度
'High-precision transaction amount'
);
-- データをクエリ
SELECT * FROM financial_transactions;
id | amount_standard | amount_high_precision | description
----+-----------------------------------------+-------------------------------------------------------------------------------+----------------------------------
1 | 1234567890123456789.1234567890123456789 | 12345678901234567890123456789012345678.12345678901234567890123456789012345678 | High-precision transaction amount
(1 row)
時間型の例
TIMESTAMPTZ、DATE、および 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、および BYTEA:
-- BIT と 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 (エスケープ出力形式)
SET bytea_output = 'escape';
SELECT 'abc \153\154\155 \052\251\124'::bytea;
bytea
----------------
abc klm *\251T
RESET bytea_output; -- 'hex' がデフォルトです
SELECT 'abc \153\154\155 \052\251\124'::bytea;
bytea
--------------------------
\x616263206b6c6d202aa954
(1 row)
配列型
Hologres は 1次元配列のみをサポートします。次の表は、サポートされている配列型と、その宣言および使用構文を示しています。
|
型 |
説明 |
DDL での宣言 |
ARRAY キーワードでの挿入 |
{} 構文での挿入 |
単一要素のクエリ |
範囲のクエリ |
|
int4[] |
1次元整数配列 |
|
|
|
|
|
|
int8[] |
1次元 bigint 配列 |
|
|
|
|
|
|
float4[] |
1次元 real 配列 |
|
|
|
|
|
|
float8[] |
1次元 double precision 配列 |
|
|
|
|
|
|
boolean[] |
1次元 boolean 配列 |
|
|
|
|
|
|
text[] |
1次元 text 配列 |
|
|
|
|
|
完全な例:
-- 宣言
CREATE TABLE array_example(
int4_array int4[],
int8_array int8[],
float4_array float4[],
float8_array float8[],
boolean_array boolean[],
text_array text[]
);
-- ARRAY キーワードを使用して挿入
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 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"}'
);
-- 単一要素のクエリ (1ベースのインデックス)
SELECT int4_array[3] FROM array_example;
-- 範囲のクエリ
SELECT int4_array[1:2] FROM array_example;
MaxCompute と Hologres 間のデータ型マッピング
次の表は、MaxCompute 外部テーブルを作成する際の MaxCompute 型と Hologres 型のマッピングを示しています。
MaxCompute テーブルにサポートされていない型のフィールドが含まれている場合でも、クエリがそのサポートされていないフィールドにアクセスしない限り、サポートされているフィールドをクエリできます。
|
MaxCompute 型 |
Hologres 型 |
提供開始 |
注記 |
|
JSON |
JSONB |
Hologres V4.1 |
— |
|
STRING, VARCHAR |
TEXT |
すべてのバージョン |
— |
|
BIGINT |
INT8 |
すべてのバージョン |
— |
|
INT |
INT4, INT |
すべてのバージョン |
— |
|
FLOAT |
FLOAT4, REAL |
すべてのバージョン |
— |
|
DOUBLE |
FLOAT, FLOAT8 |
すべてのバージョン |
— |
|
BOOLEAN |
BOOL |
すべてのバージョン |
— |
|
DATETIME |
TIMESTAMP WITH TIME ZONE |
すべてのバージョン |
MaxCompute の DATETIME は中国標準時 (UTC+8) を使用します。範囲:0000年1月1日から9999年12月31日まで、ミリ秒精度です。 |
|
DECIMAL |
NUMERIC |
すべてのバージョン |
指定しない場合、デフォルトの精度は (38,18) です。IMPORT FOREIGN SCHEMA を使用してテーブルを作成すると、システムが自動的に精度を変換します。 |
|
TIMESTAMP |
TIMESTAMP WITH TIME ZONE |
Hologres V0.8 |
MaxCompute の TIMESTAMP の範囲:0000-01-01 00:00:00.000000000 から 9999-12-31 23:59:59.999999999 (ナノ秒精度)。Hologres の TIMESTAMPTZ はミリ秒精度を使用します。読み取り時に精度は自動的に変換されます。 |
|
CHAR(n) |
CHAR(n) (デフォルト); TEXT (オプション) |
Hologres V0.8 |
固定長文字型。n は長さで、最大 255 です。n より短い場合はスペースで埋められます。TEXT にマッピングするには、 |
|
VARCHAR(n) |
VARCHAR(n) (デフォルト); TEXT (オプション) |
Hologres V0.8 |
可変長文字型。n の範囲は 1 から 65,535 です。TEXT にマッピングするには、 |
|
DATE |
DATE |
Hologres V0.8 |
— |
|
SMALLINT |
INT2 (デフォルト); INT8 (オプション) |
すべてのバージョン (V0.8 では INT4、V0.9 では INT2) |
INT8 にマッピングするには、 |
|
TINYINT |
INT2 (デフォルト); INT8 (オプション) |
すべてのバージョン (V0.8 では INT4、V0.9 では INT2) |
INT8 にマッピングするには、 |
|
CHAR (長さなし) |
サポートされていません |
サポートされていません |
— |
|
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\> |
サポートされていません |
サポートされていません |
— |
|
ARRAY\<SMALLINT\> |
サポートされていません |
サポートされていません |
— |
Blink/Flink と Hologres 間のデータ型マッピング
次の表は、Flink 型と Hologres 型のマッピングを示しています。
Binlog ソーステーブルはデータ型の一部のみをサポートします。詳細については、「Flink/Blink を使用して Hologres Binlog をリアルタイムで消費する」をご参照ください。
|
Flink 型 |
Hologres 型 |
サポートされる Hologres バージョン |
サポートされる Flink バージョン |
|
INT |
INT4, INT |
すべてのバージョン |
すべてのバージョン |
|
BIGINT |
INT8 |
すべてのバージョン |
すべてのバージョン |
|
VARCHAR |
TEXT |
すべてのバージョン |
すべてのバージョン |
|
DOUBLE |
FLOAT, FLOAT8, DOUBLE PRECISION |
すべてのバージョン |
すべてのバージョン |
|
BOOLEAN |
BOOL |
すべてのバージョン |
すべてのバージョン |
|
DECIMAL |
NUMERIC |
すべてのバージョン |
すべてのバージョン |
|
DATE |
DATE |
Hologres V0.8 |
すべてのバージョン |
|
TIMESTAMP |
TIMESTAMP WITH TIME ZONE, TIMESTAMPTZ |
すべてのバージョン |
すべてのバージョン |
|
TIMESTAMP |
TIMESTAMP WITHOUT TIME ZONE, TIMESTAMP |
すべてのバージョン |
すべてのバージョン。注:Fixed Plan は現在 TIME 型をサポートしていません。詳細については、「Fixed Plan」をご参照ください。 |
|
FLOAT |
FLOAT4, REAL |
すべてのバージョン |
すべてのバージョン |
|
TINYINT |
SMALLINT |
すべてのバージョン |
Sink:VVR-4.0.13-Flink-1.13 以降。RPC モードはサポートされていません。Source:VVR-6.0.3-Flink-1.15 以降。RPC モードはサポートされていません。ディメンション:VVR-4.0.13-Flink-1.13 以降。RPC モードはサポートされていません。 |
|
SMALLINT |
SMALLINT |
すべてのバージョン |
Sink:すべてのバージョン。Source:VVR-6.0.3-Flink-1.15 以降。RPC モードはサポートされていません。ディメンション:すべてのバージョン。 |
|
TIME |
TIME and TIMETZ |
すべてのバージョン。Hologres V2.1.24 以降、Fixed Plan は TIME と TIMETZ をサポートします。 |
Sink:VVR-4.0.13-Flink-1.13 以降。RPC モードはサポートされていません。Source:VVR-6.0.3-Flink-1.15 以降。RPC モードはサポートされていません。ディメンション:VVR-4.0.13-Flink-1.13 以降。RPC モードはサポートされていません。 説明
Fixed Plan は TIME 型をサポートしていません。可能な限りこの型を避けてください。詳細については、「Fixed Plan」をご参照ください。 |
|
VARCHAR |
JSONB |
Hologres V0.10 |
Sink:VVR-4.0.12-Flink-1.13 以降。RPC モードはサポートされていません。Source:VVR-6.0.3-Flink-1.15 以降。RPC モードはサポートされていません。ディメンション:VVR-4.0.12-Flink-1.13 以降。RPC モードはサポートされていません。 |
|
VARCHAR |
JSON |
Hologres V0.9 |
Sink:VVR-4.0.12-Flink-1.13 以降。RPC モードはサポートされていません。Source:VVR-6.0.3-Flink-1.15 以降。RPC モードはサポートされていません。ディメンション:VVR-4.0.12-Flink-1.13 以降。RPC モードはサポートされていません。 |
|
BYTES |
RoaringBitmap |
Hologres V0.10 |
Sink:VVR-4.0.12-Flink-1.13 以降。RPC モードはサポートされていません。Source:VVR-6.0.3-Flink-1.15 以降。RPC モードはサポートされていません。ディメンション:VVR-4.0.12-Flink-1.13 以降。RPC モードはサポートされていません。 |
|
VARCHAR |
GEOMETRY and GEOGRAPHY |
すべてのバージョン。Hologres V2.1 以降、Fixed Plan は GEOMETRY および GEOGRAPHY データの書き込みをサポートします。 |
Sink:VVR-4.0.13-Flink-1.13 以降。RPC モードはサポートされていません。Source:サポートされていません。ディメンション:サポートされていません。 |
|
ARRAY\<INT\> |
int4[] |
Hologres V0.8 |
Sink:すべてのバージョン。Source:VVR-6.0.3-Flink-1.15 以降。RPC モードはサポートされていません。ディメンション:すべてのバージョン。 |
|
ARRAY\<BIGINT\> |
int8[] |
Hologres V0.8 |
Sink:すべてのバージョン。Source:VVR-6.0.3-Flink-1.15 以降。RPC モードはサポートされていません。ディメンション:すべてのバージョン。 |
|
ARRAY\<FLOAT\> |
float4[] |
Hologres V0.8 |
Sink:すべてのバージョン。Source:VVR-6.0.3-Flink-1.15 以降。RPC モードはサポートされていません。ディメンション:すべてのバージョン。 |
|
ARRAY\<DOUBLE\> |
float8[] |
Hologres V0.8 |
Sink:すべてのバージョン。Source:VVR-6.0.3-Flink-1.15 以降。RPC モードはサポートされていません。ディメンション:すべてのバージョン。 |
|
ARRAY\<BOOLEAN\> |
boolean[] |
Hologres V0.8 |
Sink:すべてのバージョン。Source:VVR-6.0.3-Flink-1.15 以降。RPC モードはサポートされていません。ディメンション:すべてのバージョン。 |
|
ARRAY\<VARCHAR\> |
TEXT[] |
Hologres V0.8 |
Sink:すべてのバージョン。Source:VVR-6.0.3-Flink-1.15 以降。RPC モードはサポートされていません。ディメンション:すべてのバージョン。 |
|
ARRAY\<VARCHAR\> |
VARCHAR[] |
Hologres V0.8 |
Sink:すべてのバージョン。Source:Hologres V4.0.19 以降、Flink エンジン VVR-11.6-JDK11-Flink-1.20。ディメンション:すべてのバージョン。 |
|
CHAR |
サポートされていません |
サポートされていません |
サポートされていません |
|
BINARY |
サポートされていません |
サポートされていません |
サポートされていません |
CTAS を使用してデータを Hologres に同期する場合、DECIMAL のプライマリキーは TEXT にマッピングされ、非プライマリキーの DECIMAL フィールドは DECIMAL にマッピングされます。詳細については、「MySQL テーブルの bigint unsigned のプライマリキーが、Flink Catalog を登録すると decimal になり、CTAS を使用して Hologres に同期すると text になるのはなぜですか?
MySQL と Hologres 間のデータ型マッピング
移行のウォークスルーについては、「MySQL から Hologres への移行」をご参照ください。
|
MySQL 型 |
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 |
DLF と Hologres 間のデータ型マッピング
|
DLF 型 |
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\>。サポートされる要素型:INT, BIGINT, FLOAT, BOOLEAN, DOUBLE, STRING |
Hive と Hologres 間のデータ型マッピング
|
Hive 型 |
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\>。サポートされる要素型:INT, BIGINT, FLOAT, BOOLEAN, DOUBLE PRECISION, STRING |
Hudi と Hologres 間のデータ型マッピング
このマッピングは Hologres V1.3 以降でサポートされています。
|
Hudi 型 |
Hologres 型 |
|
IntegerType |
INT |
|
LongType |
BIGINT |
|
FloatType |
REAL |
|
DoubleType |
DOUBLE PRECISION |
|
DecimalType |
NUMERIC |
|
TimestampType |
TIMESTAMP WITHOUT TIME ZONE |
|
DateType |
DATE |
|
YearMonthIntervalType |
サポートされていません |
|
DayTimeIntervalType |
サポートされていません |
|
StringType |
TEXT |
|
VarcharType |
サポートされていません |
|
CharType |
サポートされていません |
|
BooleanType |
BOOL |
|
BinaryType |
BYTEA |
|
ByteType |
サポートされていません |
|
ShortType |
サポートされていません |
|
ArrayType(elementType, containsNull) |
ARRAY\<hologres_data_type\>。サポートされる要素型:INT, BIGINT, FLOAT, BOOLEAN, DOUBLE PRECISION, STRING |
Delta Lake と Hologres 間のデータ型マッピング
このマッピングは Hologres V1.3 以降でサポートされています。
|
Delta Lake 型 |
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 |
サポートされていません |
|
STRING |
TEXT |
|
BOOLEAN |
BOOLEAN |
|
BINARY |
BYTEA |
|
ARRAY\<elementType\> |
ARRAY\<hologres_data_type\>。サポートされる要素型:INT, BIGINT, FLOAT, BOOLEAN, DOUBLE PRECISION, STRING |
Paimon と Hologres 間のデータ型マッピング
|
Paimon 型 |
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 (V4.2 からサポート) |
|
ARRAY |
ARRAY\<hologres_data_type\>。サポートされる要素型:INT, BIGINT, FLOAT, BOOLEAN, DOUBLE PRECISION, STRING |
Iceberg と Hologres 間のデータ型マッピング
|
Iceberg 型 |
Hologres 型 |
|
BOOLEAN |
BOOLEAN |
|
INT |
INTEGER |
|
LONG |
BIGINT |
|
FLOAT |
REAL |
|
DOUBLE |
DOUBLE PRECISION |
|
DECIMAL(P,S) |
NUMERIC(P,S) |
|
DATE |
DATE |
|
TIME |
TEXT (Spark は TIME 型をサポートしていません。Flink の TIME 型は DLF に書き込まれると STRING になります。) |
|
TIMESTAMP |
TIMESTAMP WITHOUT TIME ZONE |
|
TIMESTAMPTZ |
サポートされていません |
|
STRING |
TEXT |
|
UUID |
サポートされていません (Flink と Spark はこの型を書き込めません。) |
|
FIXED(L) |
BYTEA |
|
BINARY |
BYTEA |
|
LIST |
ARRAY\<hologres_data_type\>。サポートされる要素型:INT, BIGINT, FLOAT, BOOLEAN, DOUBLE PRECISION, STRING |
|
STRUCT |
サポートされていません |
|
MAP |
サポートされていません |