Tous les produits
Search
Centre de documentation

AnalyticDB:IMPORT FOREIGN SCHEMA

Dernière mise à jour :Aug 24, 2026

AnalyticDB for MySQL permet la création en lot de tables externes MaxCompute via l'instruction IMPORT FOREIGN SCHEMA.

Prérequis

  • Le cluster AnalyticDB for MySQL doit être en version 3.2.2.0 ou ultérieure.

    Remarque

    Pour consulter et mettre à jour la version mineure, accédez à la section Configuration Information sur la page Cluster Information dans la console AnalyticDB for MySQL.

  • L'interface réseau élastique (ENI) doit être activée pour le cluster AnalyticDB for MySQL.

    Important
    • Connectez-vous à la console AnalyticDB for MySQL. Sur la page Cluster Information, activez le commutateur réseau ENI dans la section Network Information.

    • L'activation ou la désactivation du réseau ENI interrompt les connexions à la base de données pendant environ deux minutes. Les opérations de lecture et d'écriture sont alors indisponibles. Évaluez l'impact potentiel avant de poursuivre.

  • Le projet MaxCompute et le cluster AnalyticDB for MySQL doivent se trouver dans la même région.

  • Le bloc CIDR VPC du cluster AnalyticDB for MySQL doit figurer dans la liste d'autorisation d'adresses IP du projet MaxCompute.

    Remarque

    Connectez-vous à la console AnalyticDB for MySQL et récupérez l'ID VPC sur la page Cluster Information. Ensuite, connectez-vous à la console VPC et recherchez le bloc CIDR sur la page VPC à l'aide de cet ID VPC. Pour plus d'informations sur la configuration d'une liste d'autorisation d'adresses IP pour MaxCompute, consultez Gérer les listes d'autorisation d'adresses IP.

  • Un serveur externe doit être créé dans AnalyticDB for MySQL. Pour plus de détails sur la syntaxe, consultez Gérer les serveurs externes.

Syntaxe

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

Paramètres

Paramètre

Obligatoire

Description

odps_project

Oui

Nom du projet MaxCompute.

table_name[,…]

Non

Noms des tables MaxCompute à importer. Si aucun nom de table n'est spécifié, le système importe toutes les tables du projet MaxCompute indiqué en tant que tables externes dans AnalyticDB for MySQL.

server_name

Oui

Nom du serveur externe. Pour plus de détails sur la syntaxe, consultez Gérer les serveurs externes.

adb_schema

Oui

Nom de la base de données AnalyticDB for MySQL de destination.

if_table_exist

Non

Politique de gestion des conflits de noms lorsqu'une table portant le même nom existe déjà dans la base de données AnalyticDB for MySQL cible. Valeurs valides :

  • error (par défaut) : signale une erreur et liste les tables en conflit. L'opération échoue et aucune table n'est importée.

  • ignore : ignore la création des tables présentant des conflits de noms et crée les tables restantes.

  • update : écrase les tables existantes et crée les tables restantes.

if_type_unsupport

Non

Politique applicable aux types de données non pris en charge par AnalyticDB for MySQL. Valeurs valides :

  • error (par défaut) : signale une erreur en listant les tables contenant des types de données non pris en charge et en précisant ces types.

  • ignore : ne crée pas les tables contenant des types de données non pris en charge.

table_prefix

Non

Préfixe à ajouter au nom de chaque table externe importée. Par défaut, les tables externes dans AnalyticDB for MySQL portent le même nom que les tables source dans MaxCompute.

table_suffix

Non

Suffixe à ajouter au nom de chaque table externe importée. Par défaut, les tables externes dans AnalyticDB for MySQL portent le même nom que les tables source dans MaxCompute.

Exemple

Dans AnalyticDB for MySQL, créez les tables externes MaxCompute pre_customer_suf et pre_order_suf.

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

Gérer les serveurs externes

Créer un serveur externe

Syntaxe

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

Paramètres

Paramètre

Obligatoire

Description

server_name

Oui

Nom du serveur externe. Ce nom doit commencer par une lettre ou un trait de soulignement (_), contenir uniquement des lettres, des chiffres et des traits de soulignement, et ne pas dépasser 64 caractères.

TYPE='ODPS'

Oui

Type du serveur externe. Définissez cette valeur sur ODPS.

endpoint

Oui

Endpoint de MaxCompute.

Remarque

L'accès à MaxCompute s'effectue exclusivement via un endpoint VPC. Pour plus d'informations sur les endpoints MaxCompute, consultez Endpoints.

accessid

Oui

AccessKey ID d'un compte Alibaba Cloud ou d'un utilisateur MaxCompute disposant des permissions nécessaires pour accéder à MaxCompute.

Pour obtenir un AccessKey ID et un AccessKey secret, consultez Comptes et permissions.

accesskey

Oui

AccessKey secret d'un compte Alibaba Cloud ou d'un utilisateur MaxCompute disposant des permissions nécessaires pour accéder à MaxCompute.

Pour obtenir un AccessKey ID et un AccessKey secret, consultez Comptes et permissions.

Exemple

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

Interroger les serveurs externes

Interroger tous les serveurs externes

SHOW SERVER

Interroger un serveur externe spécifique

Syntaxe
SHOW SERVER WHERE SERVER_NAME='<server_name>'
Paramètres

Paramètre

Obligatoire

Description

server_name

Oui

Nom du serveur externe.

Exemple
SHOW SERVER WHERE SERVER_NAME='maxcompute_server';

Interroger les serveurs externes par type

Syntaxe
SHOW SERVER WHERE SERVER_TYPE='<server_type>'
Paramètres

Paramètre

Obligatoire

Description

server_type

Oui

Type du serveur externe. Pour MaxCompute, ce type est ODPS.

Exemple
SHOW SERVER WHERE SERVER_TYPE='ODPS';

Renommer un serveur externe

Syntaxe

ALTER SERVER <server_name> RENAME <new_server_name>

Paramètres

Paramètre

Obligatoire

Description

server_name

Oui

Nom d'origine du serveur externe.

new_server_name

Oui

Nouveau nom du serveur externe.

Exemple

ALTER SERVER maxcompute_server RENAME mc_server;

Supprimer un serveur externe

Remarque

La suppression d'un serveur externe met fin à la connexion entre AnalyticDB for MySQL et MaxCompute.

Syntaxe

DROP SERVER <server_name>

Paramètres

Paramètre

Obligatoire

Description

server_name

Oui

Nom du serveur externe.

Exemple

DROP SERVER maxcompute_server;