全部产品
Search
文档中心

MaxCompute:Pemetaan tipe data antara MaxCompute dan Hive, MySQL, Oracle, dan Hologres

更新时间:Jul 02, 2025

Saat melakukan migrasi atau integrasi data MaxCompute, Anda perlu merujuk pada tabel pemetaan tipe data untuk menetapkan hubungan pemetaan bidang tabel. Hal ini memastikan bahwa data disimpan, diproses, dan di-query dengan benar di berbagai database, mencegah kehilangan atau kerusakan data, serta meningkatkan efisiensi kerja. Topik ini menjelaskan hubungan pemetaan tipe data antara MaxCompute dan Hive, Oracle, MySQL, serta Hologres.

Pemetaan tipe data antara MaxCompute dan Hive, MySQL, dan Oracle

Tabel berikut menjelaskan pemetaan tipe data antara MaxCompute dan Hive, Oracle, serta MySQL.

Tipe data MaxCompute

Tipe data Hive

Tipe data Oracle

Tipe data MySQL

BOOLEAN

BOOLEAN

Tidak ada

Catatan

Oracle mendukung tipe data BOOLEAN mulai dari versi 23C.

Tidak ada

Catatan

TINYINT(1) digunakan sebagai gantinya.

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

Catatan

Tipe data ini didukung di Oracle Database 10g dan setelahnya.

FLOAT

DOUBLE

DOUBLE

BINARY_DOUBLE

Catatan

Tipe data ini didukung di Oracle Database 10g dan setelahnya.

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

Catatan

Tipe data ini didukung di Hive 3 dan setelahnya.

DATETIME

TIMESTAMP

DATE

DATE

DATE

DATE

DATETIME

DATE

DATE

DATETIME

ARRAY

ARRAY

Tidak didukung

Tidak didukung

MAP

MAP<key,value>

Tidak didukung

Tidak didukung

STRUCT

STRUCT

Tidak didukung

Tidak didukung

Tidak didukung

UNION

Tidak didukung

Tidak didukung

Tidak didukung

Tidak didukung

BLOB

BLOB

Pemetaan tipe data antara MaxCompute dan Hologres

Tabel berikut menjelaskan pemetaan tipe data antara MaxCompute dan Hologres saat Anda membuat tabel asing yang bersumber dari tabel MaxCompute di Hologres.

Tipe data MaxCompute

Tipe data Hologres

Versi yang didukung

Deskripsi

  • STRING

  • VARCHAR

TEXT

Semua versi Hologres

Tidak ada

BIGINT

INT8

Semua versi Hologres

Tidak ada

INT

  • INT4

  • INT

Semua versi Hologres

Tidak ada

FLOAT

  • FLOAT4

  • REAL

Semua versi Hologres

Tidak ada

DOUBLE

  • FLOAT

  • FLOAT8

Semua versi Hologres

Tidak ada

BOOLEAN

BOOL

Semua versi Hologres

Tidak ada

DATETIME

TIMESTAMP WITH TIME ZONE

Semua versi Hologres

Tipe data DATETIME MaxCompute menentukan waktu tanggal dalam UTC+8. Rentang waktunya adalah dari 0000-01-01 hingga 9999-12-31, dan akurat hingga milidetik.

DECIMAL

NUMERIC

Semua versi Hologres

Jika presisi tidak ditentukan untuk tipe data DECIMAL MaxCompute, presisi defaultnya adalah (38, 18). Saat Anda membuat tabel menggunakan IMPORT FOREIGN SCHEMA, sistem secara otomatis mengonversi presisinya.

TIMESTAMP

TIMESTAMP WITH TIME ZONE

Hologres V0.8 dan setelahnya

  • Nilai valid untuk tipe data TIMESTAMP MaxCompute adalah 0000-01-01 00:00:00.000000000 hingga 9999-12-31 23:59:59.999999999. Timestamp akurat hingga nanodetik.

  • Data tipe data TIMESTAMPTZ Hologres akurat hingga milidetik.

    Hologres secara otomatis mengonversi presisi menjadi milidetik saat membaca data.

CHAR(n)

Secara default, CHAR(n) digunakan.

Hologres juga memungkinkan Anda memetakan CHAR(n) di MaxCompute ke TEXT. Anda perlu menjalankan set hg_enable_convert_type_for_foreign_table = true untuk menyetel parameter dan mengubah tipe bidang menjadi TEXT saat membuat tabel.

Hologres V0.8 dan setelahnya

Entri tipe data CHAR(n) di MaxCompute adalah string karakter dengan panjang tetap n karakter. Nilai maksimum n adalah 255. Jika Anda menyisipkan string karakter yang lebih pendek dari panjang yang diperlukan, spasi digunakan.

VARCHAR(n)

Secara default, VARCHAR(n) digunakan.

Hologres juga memungkinkan Anda memetakan VARCHAR(n) di MaxCompute ke TEXT. Anda perlu menjalankan set hg_enable_convert_type_for_foreign_table = true untuk menyetel parameter dan mengubah tipe bidang menjadi TEXT saat membuat tabel.

Hologres V0.8 dan setelahnya

Entri tipe data VARCHAR(n) di MaxCompute adalah string karakter dengan panjang variabel n karakter. Nilai valid n: 1 hingga 65535.

DATE

DATE

Hologres V0.8 dan setelahnya

Tidak ada

SMALLINT

Secara default, INT2 digunakan.

Hologres juga memungkinkan Anda memetakan SMALLINT di MaxCompute ke INT8. Anda perlu menjalankan set hg_enable_convert_type_for_foreign_table = true untuk menyetel parameter dan mengubah tipe bidang menjadi INT8 saat membuat tabel.

Semua versi Hologres, di mana tipe data untuk Hologres V0.8 adalah INT4 dan tipe data untuk Hologres V0.9 adalah INT2

Tidak ada

TINYINT

Secara default, INT2 digunakan.

Hologres juga memungkinkan Anda memetakan TINYINT di MaxCompute ke INT8. Anda perlu menjalankan set hg_enable_convert_type_for_foreign_table = true untuk menyetel parameter dan mengubah tipe bidang menjadi INT8 saat membuat tabel.

Semua versi Hologres, di mana tipe data untuk Hologres V0.8 adalah INT4 dan tipe data untuk Hologres V0.9 adalah INT2

Tidak ada

CHAR

Tidak didukung

Tidak didukung

Tidak ada

ARRAY<INT>

INT4[]

Hologres V0.8 dan setelahnya

Tidak ada

ARRAY<BIGINT>

INT8[]

Hologres V0.8 dan setelahnya

Tidak ada

ARRAY<FLOAT>

FLOAT4[]

Hologres V0.8 dan setelahnya

Tidak ada

ARRAY<DOUBLE>

FLOAT8[]

Hologres V0.8 dan setelahnya

Tidak ada

ARRAY<BOOLEAN>

BOOLEAN[]

Hologres V0.8 dan setelahnya

Tidak ada

ARRAY<STRING>

TEXT[]

Hologres V0.8 dan setelahnya

Tidak ada

BINARY

BYTEA

Hologres V0.9 dan setelahnya

Tidak ada

ARRAY<TINYINT>

Tidak didukung

Tidak didukung

Tidak ada

ARRAY<SMALLINT>

Tidak didukung

Tidak didukung

Tidak ada

Catatan

Untuk tabel MaxCompute yang berisi bidang dengan tipe data yang tidak didukung oleh Hologres, jika Anda tidak menentukan bidang tersebut dalam query di Hologres, data dari bidang lain dapat di-query.

Referensi

Untuk informasi lebih lanjut tentang pemetaan antara fungsi bawaan MaxCompute dan fungsi bawaan Hive, MySQL, serta Oracle, lihat Pemetaan antara Fungsi Bawaan MaxCompute dan Fungsi Bawaan Hive, MySQL, serta Oracle.