すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:MaxCompute と Hive、MySQL、Oracle、および Hologres 間のデータ型マッピング

最終更新日:Jun 13, 2025

MaxCompute データ移行または統合操作を実行する場合は、データ型 <マッピングテーブル> を参照して、テーブル <フィールド> のマッピング関係を確立する必要があります。 これにより、異なる <データベース> 間でデータが正しく保存、処理、およびクエリされるようになり、データの損失や破損を防ぎ、作業効率が向上します。 この <トピック> では、MaxCompute と Hive、Oracle、MySQL、および Hologres 間のデータ型マッピング関係について説明します。

MaxCompute と Hive、MySQL、および Oracle 間のデータ型マッピング

次の表に、MaxCompute と Hive、Oracle、MySQL 間のデータ型マッピングを示します。

MaxCompute のデータ型

Hive のデータ型

Oracle のデータ型

MySQL のデータ型

BOOLEAN

BOOLEAN

なし

説明

Oracle は、バージョン 23C 以降で BOOLEAN データ型をサポートしています。

なし

説明

TINYINT(1) が代わりに使用されます。

TINYINT

TINYINT

NUMBER(3,0)

TINYINT

SMALLINT

SMALLINT

NUMBER(5,0)

SMALLINT

INT

INT

NUMBER(7,0)

MEDIUMINT

INT

INT

NUMBER(10,0)

INT

BIGINT

BIGINT

NUMBER(20,0)

BIGINT

FLOAT

FLOAT

BINARY_FLOAT

説明

このデータ型は、Oracle Database 10g 以降でサポートされています。

FLOAT

DOUBLE

DOUBLE

BINARY_DOUBLE

説明

このデータ型は、Oracle Database 10g 以降でサポートされています。

DOUBLE

DECIMAL

DECIMAL

NUMBER(P,S)

  • DECIMAL

  • NUMERIC

STRING

STRING

  • VARCHAR

  • VARCHAR2

  • CHAR

  • NCHAR

  • NVARCHAR3

  • VARCHAR

  • CHAR

VARCHAR

VARCHAR

  • VARCHAR

  • VARCHAR2

  • CHAR

  • NCHAR

  • NVARCHAR3

VARCHAR

STRING

CHAR

CHAR

CHAR

BINARY

BINARY

RAW

  • BINARY

  • VARBINARY

TIMESTAMP

TIMESTAMP

TIMESTAMP WITH TIME ZONE

TIMESTAMP

TIMESTAMP_NTZ

TIMESTAMP

説明

このデータ型は、Hive 3 以降でサポートされています。

DATETIME

TIMESTAMP

DATE

DATE

DATE

DATE

DATETIME

DATE

DATE

DATETIME

ARRAY

ARRAY

サポートされていません

サポートされていません

MAP

MAP<key,value>

サポートされていません

サポートされていません

STRUCT

STRUCT

サポートされていません

サポートされていません

サポートされていません

UNION

サポートされていません

サポートされていません

サポートされていません

サポートされていません

BLOB

BLOB

MaxCompute と Hologres 間のデータ型マッピング

次の表は、Hologres で MaxCompute <テーブル> を <ソース> とする <外部テーブル> を作成する場合の、MaxCompute と Hologres 間のデータ型マッピングを示しています。

MaxCompute のデータ型

Hologres のデータ型

サポートされているバージョン

説明

  • STRING

  • VARCHAR

TEXT

すべての Hologres バージョン

なし

BIGINT

INT8

すべての Hologres バージョン

なし

INT

  • INT4

  • INT

すべての Hologres バージョン

なし

FLOAT

  • FLOAT4

  • REAL

すべての Hologres バージョン

なし

DOUBLE

  • FLOAT

  • FLOAT8

すべての Hologres バージョン

なし

BOOLEAN

BOOL

すべての Hologres バージョン

なし

DATETIME

TIMESTAMP WITH TIME ZONE

すべての Hologres バージョン

MaxCompute の DATETIME データ型は、UTC + 08:00 の日時を指定します。 時間の <有効値> は 0000-01-01 から 9999-12-31 までで、ミリ秒単位の精度です。

DECIMAL

NUMERIC

すべての Hologres バージョン

MaxCompute の DECIMAL データ型に精度が指定されていない場合、<デフォルト> の精度は (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 データ型のデータはミリ秒単位の精度です。

    Hologres は、データを読み取るときに精度をミリ秒に自動的に変換します。

CHAR(n)

<デフォルト> では、CHAR(n) が使用されます。

Hologres では、MaxCompute の CHAR(n) を TEXT に <マッピング> することもできます。 set hg_enable_convert_type_for_foreign_table = true を実行して <パラメーター> を <セット> し、<テーブル> を作成するときに <フィールド> 型を TEXT に変更する必要があります。

Hologres V0.8 以降

MaxCompute の CHAR(n) データ型のエントリは、固定長 n <文字> の <文字列> です。 n の最大 <値> は 255 です。必要な長さよりも短い <文字列> を <挿入> すると、スペースが使用されます。

VARCHAR(n)

<デフォルト> では、VARCHAR(n) が使用されます。

Hologres では、MaxCompute の VARCHAR(n) を TEXT に <マッピング> することもできます。 set hg_enable_convert_type_for_foreign_table = true を実行して <パラメーター> を <セット> し、<テーブル> を作成するときに <フィールド> 型を TEXT に変更する必要があります。

Hologres V0.8 以降

MaxCompute の VARCHAR(n) データ型のエントリは、可変長 n <文字> の <文字列> です。 n の <有効値>: 1 ~ 65535。

DATE

DATE

Hologres V0.8 以降

なし

SMALLINT

<デフォルト> では、INT2 が使用されます。

Hologres では、MaxCompute の SMALLINT を INT8 に <マッピング> することもできます。 set hg_enable_convert_type_for_foreign_table = true を実行して <パラメーター> を <セット> し、<テーブル> を作成するときに <フィールド> 型を INT8 に変更する必要があります。

すべての Hologres バージョン。Hologres V0.8 のデータ型は INT4、Hologres V0.9 のデータ型は INT2 です。

なし

TINYINT

<デフォルト> では、INT2 が使用されます。

Hologres では、MaxCompute の TINYINT を INT8 に <マッピング> することもできます。 set hg_enable_convert_type_for_foreign_table = true を実行して <パラメーター> を <セット> し、<テーブル> を作成するときに <フィールド> 型を INT8 に変更する必要があります。

すべての Hologres バージョン。Hologres V0.8 のデータ型は INT4、Hologres V0.9 のデータ型は INT2 です。

なし

CHAR

サポートされていません

サポートされていません

なし

ARRAY<INT>

INT4[]

Hologres V0.8 以降

なし

ARRAY<BIGINT>

INT8[]

Hologres V0.8 以降

なし

ARRAY<FLOAT>

FLOAT4[]

Hologres V0.8 以降

なし

DOUBLE型の配列

FLOAT8[]

Hologres V0.8 以降

なし

BOOLEAN の配列

BOOLEAN[]

Hologres V0.8 以降

なし

STRING の配列

テキスト[]

Hologres V0.8 以降

なし

バイナリ

BYTEA

Hologres V0.9 以降

なし

ARRAY<TINYINT>

サポートされていません

サポートされていません

なし

ARRAY<SMALLINT>

サポートされていません

サポートされていません

なし

説明

MaxCompute テーブルに Hologres でサポートされていないデータ型のフィールドが含まれている場合、Hologres でのクエリでこのフィールドを指定しないと、他のフィールドのデータをクエリできます。

参照

MaxCompute のビルトイン関数と Hive、MySQL、Oracle のビルトイン関数のマッピングの詳細については、「MaxCompute のビルトイン関数と Hive、MySQL、Oracle のビルトイン関数のマッピング」をご参照ください。