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 | 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) |
|
STRING | STRING |
|
|
VARCHAR | VARCHAR |
| VARCHAR |
STRING | CHAR | CHAR | CHAR |
BINARY | BINARY | RAW |
|
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 |
| 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 |
| TEXT | Semua versi Hologres | Tidak ada |
BIGINT | INT8 | Semua versi Hologres | Tidak ada |
INT |
| Semua versi Hologres | Tidak ada |
FLOAT |
| Semua versi Hologres | Tidak ada |
DOUBLE |
| 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 |
|
CHAR(n) | Secara default, CHAR(n) digunakan. Hologres juga memungkinkan Anda memetakan CHAR(n) di MaxCompute ke TEXT. Anda perlu menjalankan | 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 | 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 | 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 | 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 |
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.