Tous les produits
Search
Centre de documentation

AnalyticDB:Exporter des données vers MaxCompute

Dernière mise à jour :Aug 10, 2026

Exportez des données d’un cluster AnalyticDB for MySQL Data Warehouse Edition (V3.0) vers des tables partitionnées MaxCompute à l’aide de tables externes. Créez une table externe mappant la table MaxCompute de destination, puis exécutez une instruction INSERT pour écrire les données dans la partition cible.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • Une table de destination créée dans MaxCompute. Pour débuter, consultez la section Créer un compte Alibaba Cloud. Pour créer la table, reportez-vous à la rubrique Créer des tables. Les exemples ci-dessous illustrent la création de tables partitionnées MaxCompute. Pour plus d’informations, consultez la section Opérations sur les tables.

    • Créez une table avec des partitions de hachage :

      CREATE TABLE IF NOT EXISTS odps_table
      (
      uid STRING
       )
      PARTITIONED BY (ds STRING)
      LIFECYCLE 3;     
    • Créez une table avec des partitions de liste :

      CREATE TABLE IF NOT EXISTS odps_table
      (
      uid STRING
       )
      PARTITIONED BY (ds STRING,other STRING)
      LIFECYCLE 3;     
  • Un cluster AnalyticDB for MySQL Data Warehouse Edition (V3.0) dont la liste d’autorisation est configurée, avec un compte et une base de données créés. Consultez la section Créer un cluster.

  • (Si vous utilisez le mode élastique) Interface réseau élastique (ENI) activée dans la section Network Information de la page Cluster Information.

Remarque

Chaque opération d’exportation écrit les données dans une seule partition. Pour exporter des données vers plusieurs partitions, exécutez une instruction INSERT distincte pour chaque partition. MaxCompute prend en charge jusqu’à six niveaux de partitions.

Fonctionnement

Chaque exportation suit trois étapes :

  1. Connectez-vous au cluster AnalyticDB for MySQL.

  2. Créez une table externe dans AnalyticDB for MySQL mappant la table MaxCompute de destination.

  3. Exécutez une instruction INSERT pour écrire les données de la table AnalyticDB for MySQL vers la partition MaxCompute.

La table externe utilise le moteur ENGINE='ODPS' et un objet JSON TABLE_PROPERTIES pour établir la connexion. AnalyticDB for MySQL ne peut atteindre MaxCompute que via des endpoints VPC ; les endpoints publics ne sont pas pris en charge.

Exporter des données vers une table MaxCompute avec des partitions de hachage

Cet exemple exporte les données de la table adb_table dans AnalyticDB for MySQL vers la table odps_table, une table MaxCompute dotée d’une partition de hachage à un seul niveau sur la colonne ds.

Étape 1 : Connectez-vous à votre cluster AnalyticDB for MySQL

Consultez la section Se connecter à un cluster AnalyticDB for MySQL.

Étape 2 : Créez une table externe

CREATE TABLE odps_external_table
(
uid string,
ds string
)
ENGINE='ODPS'
TABLE_PROPERTIES='{
"endpoint":"http://service.odps.aliyun-inc.com/api",
"accessid":"<your-accesskey-id>",
"accesskey":"<your-accesskey-secret>",
"project_name":"<your-maxcompute-project>",
"table_name":"odps_table",
"partition_column":"ds"
}'
Paramètre Description
ENGINE='ODPS' Définit le moteur sur MaxCompute.
TABLE_PROPERTIES Détails de connexion utilisés par AnalyticDB for MySQL pour accéder à MaxCompute et y écrire des données.
endpoint Endpoint VPC de MaxCompute. Pour connaître les valeurs d’endpoint par région, consultez la section Endpoints.
accessid ID AccessKey utilisé pour accéder à la table MaxCompute de destination.
accesskey Secret AccessKey utilisé pour accéder à la table MaxCompute de destination.
project_name Projet MaxCompute contenant la table de destination.
table_name Nom de la table de destination dans MaxCompute.
partition_column Colonne de partition. Pour une table partitionnée par hachage, spécifiez la colonne de partition unique.

Étape 3 : Exportez les données vers la partition cible

INSERT [OVERWRITE] INTO odps_external_table PARTITION(ds='20200401')
SELECT [adb_table_column, ...] FROM adb_table [WHERE ...]
Remarque

N’incluez pas la colonne de partition (ds) dans la liste des colonnes SELECT. La valeur de partition est définie par la clause PARTITION.

Exporter des données vers une table MaxCompute avec des partitions de liste

Cet exemple exporte les données de la table adb_table vers la table odps_table, une table MaxCompute dotée d’une partition de liste à deux niveaux sur les colonnes ds et other.

Étape 1 : Connectez-vous à votre cluster AnalyticDB for MySQL

Consultez la section Se connecter à un cluster AnalyticDB for MySQL.

Étape 2 : Créez une table externe

CREATE TABLE odps_external_table
(
uid string,
ds string,
other string
)
ENGINE='ODPS'
TABLE_PROPERTIES='{
"endpoint":"http://service.odps.aliyun-inc.com/api",
"accessid":"<your-accesskey-id>",
"accesskey":"<your-accesskey-secret>",
"project_name":"<your-maxcompute-project>",
"table_name":"odps_table",
"partition_column":"ds,other"
}'

Pour une table partitionnée par liste comportant plusieurs niveaux, définissez le paramètre partition_column sous la forme d’une liste de colonnes de partition séparées par des virgules, dans l’ordre des niveaux.

Étape 3 : Exportez les données vers la partition cible

INSERT [OVERWRITE] INTO odps_external_table PARTITION(ds='20200401',other='hangzhou')
SELECT [adb_table_column, ...] FROM adb_table [WHERE ...]
Remarque

N’incluez pas les colonnes de partition (ds, other) dans la liste des colonnes SELECT. Les valeurs de partition sont définies par la clause PARTITION.

Étapes suivantes

  • Opérations sur les tables — créer des tables MaxCompute avec des niveaux de partition supérieurs

  • Endpoints — rechercher l’endpoint VPC pour votre région MaxCompute