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.
RemarquePour 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.
ImportantConnectez-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.
RemarqueConnectez-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 |
|
|
Oui |
Nom du projet MaxCompute. |
|
|
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. |
|
|
Oui |
Nom du serveur externe. Pour plus de détails sur la syntaxe, consultez Gérer les serveurs externes. |
|
|
Oui |
Nom de la base de données AnalyticDB for MySQL de destination. |
|
|
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 :
|
|
|
Non |
Politique applicable aux types de données non pris en charge par AnalyticDB for MySQL. Valeurs valides :
|
|
|
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. |
|
|
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 |
|
|
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. |
|
|
Oui |
Type du serveur externe. Définissez cette valeur sur ODPS. |
|
|
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. |
|
|
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. |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
Oui |
Nom d'origine du serveur externe. |
|
|
Oui |
Nouveau nom du serveur externe. |
Exemple
ALTER SERVER maxcompute_server RENAME mc_server;
Supprimer un serveur externe
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 |
|
|
Oui |
Nom du serveur externe. |
Exemple
DROP SERVER maxcompute_server;