全部产品
Search
文档中心

AnalyticDB:IMPORT FOREIGN SCHEMA

更新时间:Jul 02, 2025

AnalyticDB for MySQL mendukung penggunaan pernyataan IMPORT FOREIGN SCHEMA untuk membuat tabel asing MaxCompute secara massal.

Prasyarat

  • Kluster AnalyticDB for MySQL versi 3.2.2.0 atau lebih baru telah dibuat.

    Catatan

    Untuk melihat dan memperbarui versi minor dari kluster AnalyticDB for MySQL, masuk ke konsol AnalyticDB for MySQL dan buka bagian Configuration Information pada halaman Cluster Information.

  • Elastic Network Interface (ENI) diaktifkan untuk kluster AnalyticDB for MySQL.

    Penting
    • Anda dapat masuk ke konsol AnalyticDB for MySQL, pilih Cluster Management > Cluster Information di panel navigasi sisi kiri halaman detail kluster, lalu aktifkan ENI di bagian Network Information.

    • Saat mengaktifkan atau menonaktifkan ENI, koneksi database mungkin terputus selama sekitar 2 menit. Selama periode ini, operasi baca atau tulis tidak dapat dilakukan. Harap berhati-hati saat mengaktifkan atau menonaktifkan ENI.

  • Proyek MaxCompute telah dibuat di wilayah yang sama dengan kluster AnalyticDB for MySQL.

  • Blok CIDR dari virtual private cloud (VPC) tempat kluster AnalyticDB for MySQL berada telah ditambahkan ke daftar putih alamat IP proyek MaxCompute.

    Catatan

    Anda dapat masuk ke konsol AnalyticDB for MySQL untuk melihat ID VPC di halaman Cluster Information. Kemudian, masuk ke konsol VPC dan temukan ID VPC di halaman VPC untuk melihat blok CIDR. Untuk informasi tentang cara mengonfigurasi daftar putih alamat IP di MaxCompute, lihat Kelola daftar putih alamat IP.

  • Sebuah server asing dibuat untuk kluster AnalyticDB for MySQL. Untuk sintaks tentang server asing, lihat bagian "Kelola server asing" dari topik ini.

Sintaks

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

Parameter

Diperlukan

Deskripsi

odps_project

Ya

Nama proyek MaxCompute.

table_name[,...]

Tidak

Nama tabel MaxCompute yang ingin Anda impor. Jika tidak ada batasan nama tabel, sistem akan membuat semua tabel yang sesuai dengan proyek MaxCompute dalam kluster AnalyticDB for MySQL.

server_name

Ya

Nama server asing. Untuk sintaks tentang server asing, lihat bagian "Kelola server asing" dari topik ini.

adb_schema

Ya

Nama basis data dalam kluster AnalyticDB for MySQL.

if_table_exist

Tidak

Metode yang digunakan untuk menangani konflik nama tabel di AnalyticDB for MySQL. Nilai valid:

  • error (default): melaporkan kesalahan dan mencantumkan tabel dengan nama yang sama. Dalam hal ini, tidak ada tabel yang dibuat.

  • ignore: melewati pembuatan tabel dengan nama yang sama. Dalam hal ini, tabel lainnya dibuat seperti yang diharapkan.

  • update: menimpa tabel asli dengan nama yang sama dan membuat tabel baru. Dalam hal ini, tabel lainnya dibuat seperti yang diharapkan.

if_type_unsupport

Tidak

Metode yang digunakan untuk menangani tipe data yang tidak didukung di AnalyticDB for MySQL. Nilai valid:

  • error (default): melaporkan kesalahan dan mencantumkan tipe data yang tidak didukung dan tabel terkait.

  • ignore: melewati pembuatan tabel dengan tipe data yang tidak didukung.

table_prefix

Tidak

Prefiks nama tabel asing. Secara default, tabel asing di AnalyticDB for MySQL menggunakan nama yang sama dengan tabel yang cocok di MaxCompute.

table_suffix

Tidak

Akhiran nama tabel asing. Secara default, tabel asing di AnalyticDB for MySQL menggunakan nama yang sama dengan tabel yang cocok di MaxCompute.

Contoh

Buat tabel asing MaxCompute bernama pre_customer_suf dan pre_order_suf di AnalyticDB for MySQL.

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'
);

Kelola server asing

Buat server asing

Sintaks

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

Parameter

Parameter

Diperlukan

Deskripsi

server_name

Ya

Nama server asing. Nama tersebut dapat memiliki panjang hingga 64 karakter dan dapat berisi huruf, angka, dan garis bawah (_). Nama harus dimulai dengan huruf atau garis bawah (_).

TYPE='ODPS'

Ya

Jenis server asing. Atur parameter ini ke ODPS.

endpoint

Ya

Titik akhir MaxCompute.

Catatan

Anda hanya dapat mengakses MaxCompute menggunakan titik akhir VPC. Untuk informasi tentang titik akhir MaxCompute, lihat Titik Akhir.

accessid

Ya

ID AccessKey dari akun Alibaba Cloud atau pengguna Resource Access Management (RAM) yang memiliki izin untuk mengakses MaxCompute.

Untuk informasi tentangcara mendapatkan ID AccessKey dan rahasia AccessKey, lihat Akun dan izin.

accesskey

Ya

Rahasia AccessKey dari akun Alibaba Cloud atau pengguna Resource Access Management (RAM) yang memiliki izin untuk mengakses MaxCompute.

Untuk informasi tentang 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 asing

Kueri semua server asing

SHOW SERVER

Kueri server asing tertentu

Sintaks
SHOW SERVER WHERE SERVER_NAME='<server_name>'
Parameter

Parameter

Diperlukan

Deskripsi

server_name

Ya

Nama server asing.

Contoh
SHOW SERVER WHERE SERVER_NAME='maxcompute_server';

Kueri server asing dengan tipe tertentu

Sintaks
SHOW SERVER WHERE SERVER_TYPE='<server_type>'
Parameter

Parameter

Diperlukan

Deskripsi

server_type

Ya

Tipe server asing. Atur parameter ini ke ODPS untuk MaxCompute.

Contoh
SHOW SERVER WHERE SERVER_TYPE='ODPS';

Ganti nama server asing

Sintaks

ALTER SERVER <server_name> RENAME <new_server_name>

Parameter

Parameter

Diperlukan

Deskripsi

server_name

Ya

Nama asli server asing.

new_server_name

Ya

Nama baru server asing.

Contoh

ALTER SERVER maxcompute_server RENAME mc_server;

Hapus server asing

Catatan

Setelah menghapus server asing, koneksi antara AnalyticDB for MySQL dan MaxCompute menggunakan server asing akan terputus.

Sintaks

DROP SERVER <server_name>

Parameter

Parameter

Diperlukan

Deskripsi

server_name

Ya

Nama server asing.

Contoh

DROP SERVER maxcompute_server;