All Products
Search
Document Center

AnalyticDB:IMPORT FOREIGN SCHEMA

Last Updated:Mar 28, 2026

Gunakan IMPORT FOREIGN SCHEMA untuk membuat tabel eksternal MaxCompute secara batch di kluster AnalyticDB for MySQL.

Prasyarat

Sebelum memulai, pastikan Anda telah:

  • Memiliki kluster AnalyticDB for MySQL yang menjalankan versi V3.2.2.0 atau lebih baru.

    Untuk melihat dan memperbarui versi minor, masuk ke Konsol AnalyticDB for MySQL, lalu buka bagian Configuration Information pada halaman Cluster Information.
  • Mengaktifkan Elastic Network Interface (ENI) pada kluster.

    Penting

    Untuk mengaktifkan ENI, masuk ke Konsol AnalyticDB for MySQL, buka halaman detail kluster, lalu pilih Cluster Management > Cluster Information di panel navigasi sebelah kiri. Di bagian Network Information, aktifkan ENI. Mengaktifkan atau menonaktifkan ENI akan mengganggu koneksi database selama sekitar 2 menit. Tidak ada operasi baca atau tulis yang dapat dilakukan selama periode ini.

  • Memiliki proyek MaxCompute di wilayah yang sama dengan kluster AnalyticDB for MySQL Anda.

  • Menambahkan blok CIDR dari virtual private cloud (VPC) tempat kluster Anda berada ke daftar putih alamat IP proyek MaxCompute.

    Untuk menemukan blok CIDR, lihat ID VPC pada halaman Cluster Information di Konsol AnalyticDB for MySQL, lalu cari VPC tersebut di Konsol VPC. Untuk cara mengonfigurasi daftar putih di MaxCompute, lihat Mengelola daftar putih alamat IP.
  • Membuat server eksternal untuk kluster — lihat Buat server eksternal dalam topik ini.

Panduan cepat

Contoh end-to-end berikut menunjukkan alur kerja lengkap: buat server eksternal, lalu impor tabel eksternal.

Langkah 1: Buat server eksternal.

CREATE SERVER maxcompute_server
TYPE = 'ODPS'
SERVER_PROPERTIES = '{
    "endpoint":"http://service.cn-hangzhou-vpc.maxcompute.aliyun-inc.com/api",
    "accessid":"STS.****************",
    "accesskey":"yourAccessKeySecret"
}';

Langkah 2: Impor semua tabel dari proyek MaxCompute.

IMPORT FOREIGN SCHEMA my_project
FROM maxcompute_server
INTO my_adb_schema;

Perintah ini membuat satu tabel eksternal di AnalyticDB for MySQL untuk setiap tabel di my_project.

Sintaksis

IMPORT FOREIGN SCHEMA odps_project
[LIMIT TO (table_name[, ...])]
FROM server_name
INTO adb_schema
[OPTIONS (
  if_table_exist 'error|ignore|update',
  if_type_unsupport 'error|ignore',
  table_prefix 'table_prefix',
  table_suffix 'table_suffix')]

Parameter

ParameterWajibDeskripsi
odps_projectYaNama proyek MaxCompute.
table_name[,...]TidakTabel MaxCompute yang akan diimpor. Jika dihilangkan, semua tabel dalam proyek akan diimpor.
server_nameYaNama server eksternal.
adb_schemaYaNama database di kluster AnalyticDB for MySQL.
if_table_existTidakCara menangani konflik nama dengan tabel yang sudah ada. Nilai default: error. Lihat opsi di bawah.
if_type_unsupportTidakCara menangani tipe data yang tidak didukung. Nilai default: error. Lihat opsi di bawah.
table_prefixTidakAwalan yang ditambahkan ke setiap nama tabel eksternal. Secara default, tabel eksternal menggunakan nama yang sama dengan tabel MaxCompute yang sesuai.
table_suffixTidakAkhiran yang ditambahkan ke setiap nama tabel eksternal. Secara default, tabel eksternal menggunakan nama yang sama dengan tabel MaxCompute yang sesuai.

Opsi if_table_exist

NilaiPerilakuGunakan saat
error (default)Melaporkan error dan mencantumkan tabel yang bentrok. Tidak ada tabel yang dibuat.Anda menginginkan kontrol ketat dan harus meninjau konflik sebelum melanjutkan.
ignoreMelewatkan tabel dengan nama yang bentrok; membuat semua tabel lainnya.Menjalankan skrip idempoten — impor dapat dijalankan ulang dengan aman tanpa menimpa tabel yang sudah ada.
updateMenimpa tabel dengan nama yang bentrok; membuat semua tabel lainnya.Menyinkronkan perubahan skema dari MaxCompute — tabel eksternal yang ada diperbarui agar sesuai dengan skema MaxCompute terbaru.

Opsi if_type_unsupport

NilaiPerilaku
error (default)Melaporkan error dan mencantumkan tipe data yang tidak didukung serta tabel yang memuatnya.
ignoreMelewatkan tabel yang memuat tipe data yang tidak didukung; membuat semua tabel lainnya.

Contoh

Impor semua tabel dari proyek

Impor semua tabel dari my_project ke database my_adb_schema:

IMPORT FOREIGN SCHEMA my_project
FROM maxcompute_server
INTO my_adb_schema;

Impor tabel tertentu dengan opsi penamaan

Impor hanya tabel customer dan order, tambahkan awalan pre_ dan akhiran _suf pada nama tabel eksternal. Timpa tabel yang sudah ada dengan nama yang sama, dan lewati tabel yang memiliki tipe data yang tidak didukung:

IMPORT FOREIGN SCHEMA my_project
LIMIT TO (customer, order)
FROM maxcompute_server
INTO my_adb_schema
OPTIONS (
    if_table_exist 'update',
    if_type_unsupport 'ignore',
    table_prefix 'pre_',
    table_suffix '_suf'
);

Perintah ini membuat tabel eksternal bernama pre_customer_suf dan pre_order_suf di AnalyticDB for MySQL.

Mengelola server eksternal

Server eksternal menyimpan konfigurasi koneksi untuk proyek MaxCompute. Buat satu server sebelum menjalankan IMPORT FOREIGN SCHEMA.

Buat server eksternal

Sintaksis

CREATE SERVER <server_name>
TYPE = 'ODPS'
SERVER_PROPERTIES = '{
    "endpoint":"<endpoint>",
    "accessid":"<accesskey_id>",
    "accesskey":"<accesskey_secret>"
}'

Parameter

ParameterWajibDeskripsi
server_nameYaNama server eksternal. Maksimal 64 karakter; dapat berisi huruf, angka, dan garis bawah (_); harus dimulai dengan huruf atau garis bawah.
TYPE='ODPS'YaJenis server eksternal. Tetapkan ke ODPS.
endpointYaTitik akhir VPC MaxCompute. Hanya titik akhir VPC yang didukung. Untuk nilai titik akhir, lihat Titik akhir.
accessidYaID AccessKey dari Akun Alibaba Cloud atau Pengguna Resource Access Management (RAM) yang memiliki akses ke MaxCompute. Untuk cara mendapatkan ID AccessKey dan Rahasia AccessKey, lihat Akun dan izin.
accesskeyYaRahasia AccessKey dari Akun Alibaba Cloud atau Pengguna RAM yang memiliki izin untuk mengakses MaxCompute. Untuk cara mendapatkan ID AccessKey dan Rahasia AccessKey, lihat Akun dan izin.

Contoh

CREATE SERVER maxcompute_server
TYPE = 'ODPS'
SERVER_PROPERTIES = '{
    "endpoint":"http://service.cn-hangzhou-vpc.maxcompute.aliyun-inc.com/api",
    "accessid":"STS.****************",
    "accesskey":"yourAccessKeySecret"
}';

Kueri server eksternal

Tampilkan semua server eksternal:

SHOW SERVER

Kueri server eksternal tertentu berdasarkan nama:

SHOW SERVER WHERE SERVER_NAME='<server_name>';

Contoh:

SHOW SERVER WHERE SERVER_NAME='maxcompute_server';

Kueri server eksternal berdasarkan jenis:

SHOW SERVER WHERE SERVER_TYPE='<server_type>';

Untuk server MaxCompute, tetapkan server_type ke ODPS:

SHOW SERVER WHERE SERVER_TYPE='ODPS';

Ubah nama server eksternal

Sintaksis

ALTER SERVER <server_name> RENAME <new_server_name>

Parameter

ParameterWajibDeskripsi
server_nameYaNama saat ini dari server eksternal.
new_server_nameYaNama baru dari server eksternal.

Contoh

ALTER SERVER maxcompute_server RENAME mc_server;

Hapus server eksternal

Menghapus server eksternal akan memutus koneksi antara AnalyticDB for MySQL dan MaxCompute yang dibuat melalui server tersebut.

Sintaksis

DROP SERVER <server_name>

Parameter

ParameterWajibDeskripsi
server_nameYaNama server eksternal yang akan dihapus.

Contoh

DROP SERVER maxcompute_server;