Utilisez la fonctionnalité d'intégration de données de DataWorks pour exporter l'intégralité des données de Tablestore vers MaxCompute afin de les analyser et de les traiter hors ligne.
Prérequis
Avant d'exporter les données, effectuez les tâches suivantes :
Récupérez le nom de l'instance, l'endpoint de l'instance et l'ID de région de la table source Tablestore.
Créez un projet MaxCompute qui servira de destination.
Créez un AccessKey pour votre compte Alibaba Cloud ou un utilisateur RAM. Assurez-vous que le compte ou l'utilisateur dispose des autorisations nécessaires pour accéder à Tablestore et MaxCompute.
Activez DataWorks et créez un espace de travail dans la région où se trouve votre instance MaxCompute ou Tablestore.
Créez un groupe de ressources serverless et associez-le à l'espace de travail. Pour plus d'informations sur la facturation, consultez la rubrique Facturation des groupes de ressources serverless.
Si votre espace de travail DataWorks et votre instance Tablestore se trouvent dans des régions différentes, vous devez créer une connexion d'appairage VPC pour permettre la connectivité réseau interrégionale.
Procédure
Suivez ces étapes pour configurer l'exportation complète des données de Tablestore vers MaxCompute.
Étape 1 : Ajouter une source de données Tablestore
Ajoutez une source de données Tablestore dans DataWorks pour établir une connexion avec la table source.
Connectez-vous à la console DataWorks. Basculez vers la région cible. Dans le volet de navigation de gauche, accédez à . Dans la liste déroulante, sélectionnez l'espace de travail souhaité et cliquez sur Go to Data Integration.
Dans le volet de navigation de gauche, cliquez sur Data Source.
Sur la page Data Sources, cliquez sur Add Data Source.
Dans la boîte de dialogue Add Data Source, recherchez et sélectionnez Tablestore comme type de source de données.
-
Dans la boîte de dialogue Add OTS Data Source, configurez les paramètres de la source de données comme décrit dans le tableau suivant.
Paramètre
Description
Nom de la source de données
Le nom de la source de données. Le nom peut contenir des lettres, des chiffres et des traits de soulignement (_), mais ne peut pas commencer par un chiffre ou un trait de soulignement (_).
Description de la source de données
Une brève description de la source de données. La description peut comporter jusqu'à 80 caractères.
Région
Sélectionnez la région où se trouve l'instance Tablestore.
Tablestore Instance Name
Le nom de l'instance Tablestore.
Endpoint
L'endpoint de l'instance Tablestore. Nous vous recommandons d'utiliser l'VPC Address.
AccessKey ID
L'AccessKey ID et l'AccessKey Secret de votre compte Alibaba Cloud ou de votre utilisateur RAM.
AccessKey Secret
-
Testez la connectivité du groupe de ressources.
Vous devez tester la connectivité du groupe de ressources à la source de données. La tâche de synchronisation ne peut pas s'exécuter si le groupe de ressources ne peut pas se connecter à la source de données.
Dans la section Connection Configuration, cliquez sur Test Network Connectivity dans la colonne Connection Status du groupe de ressources.
-
Une fois le test de connectivité réussi, l'Connection Status passe à Connected. Cliquez sur Complete. Vous pouvez afficher la nouvelle source de données dans la liste des sources de données.
Si le résultat du test de connectivité est Failed, vous pouvez utiliser l'Network Connectivity Diagnostic Tool pour résoudre le problème vous-même.
Étape 2 : Ajouter une source de données MaxCompute
Ajoutez et configurez une source de données MaxCompute en tant que destination pour l'exportation des données.
-
Cliquez à nouveau sur Add data source. Sélectionnez MaxCompute comme type de source de données et configurez les paramètres.
Paramètre
Description
Nom de la source de données
Le nom doit être composé de lettres, de chiffres et de traits de soulignement (_). Il ne peut pas commencer par un chiffre ou un trait de soulignement (_).
Data source description
Une brève description de la source de données, ne dépassant pas 80 caractères.
Méthode d'authentification
Cette valeur est définie par défaut sur Alibaba Cloud account and Alibaba Cloud RAM role et ne peut pas être modifiée.
Alibaba Cloud Account
Current Alibaba Cloud Account : sélectionnez le MaxCompute project name et l'Default Access Identity pour le compte actuel dans la région spécifiée.
Another Alibaba Cloud Account : saisissez l'UID of Alibaba Cloud account, le MaxCompute project et le RAM role pour l'autre compte dans la région spécifiée.
Région
La région où se trouve le projet MaxCompute.
Endpoint
La valeur par défaut est Auto adapt. Vous pouvez également sélectionner Custom configuration selon vos besoins.
Une fois les paramètres configurés et le test de connectivité réussi, cliquez sur Complete pour ajouter la source de données.
Étape 3 : Configurer la tâche de synchronisation par lots
Créez une tâche de synchronisation de données pour définir les règles de transfert et les mappages de champs afin d'exporter les données de Tablestore vers MaxCompute.
Créer un nœud de tâche
-
Accédez à la page Data development.
Connectez-vous à la console DataWorks.
Dans la barre de navigation supérieure, sélectionnez un groupe de ressources et une région.
Dans le volet de navigation de gauche, accédez à .
Sélectionnez l'espace de travail cible et cliquez sur Go to Data Studio.
Sur la page Data development de la console Data Studio, cliquez sur l'icône
à droite de Workspace Directory, puis accédez à .Dans la boîte de dialogue Create node, sélectionnez un Path. Définissez la source de données sur Tablestore et la destination sur MaxCompute (ODPS). Saisissez un Name et cliquez sur OK.
Configurer la tâche de synchronisation
Sous Workspace Directory, cliquez pour ouvrir le nœud de tâche de synchronisation par lots nouvellement créé. Vous pouvez configurer la tâche à l'aide de l'interface sans code ou de l'éditeur de code.
Interface sans code (par défaut)
Configurez les éléments suivants dans l'interface sans code :
Source de données : sélectionnez les sources de données source et de destination.
Runtime Resource : sélectionnez un groupe de ressources. Le système teste alors automatiquement la connectivité de la source de données.
-
Data Source :
Table : sélectionnez la table de données source dans la liste déroulante.
-
Primary Key Range (Start) : début de la plage de clés primaires à partir de laquelle lire les données. La valeur doit être au format de tableau JSON.
inf_minreprésente l'infini négatif.Par exemple, si la clé primaire est composée d'une colonne
intnomméeidet d'une colonnestringnomméename, la configuration d'exemple est la suivante :Plage de clés primaires spécifique
Données complètes
[ { "type": "int", "value": "000" }, { "type": "string", "value": "aaa" } ][ { "type": "inf_min" }, { "type": "inf_min" } ] -
Primary Key Range (End) : fin de la plage de clés primaires à partir de laquelle lire les données. La valeur doit être au format de tableau JSON.
inf_maxreprésente l'infini positif.Par exemple, si la clé primaire est composée d'une colonne
intnomméeidet d'une colonnestringnomméename, la configuration d'exemple est la suivante :Plage de clés primaires spécifique
Données complètes
[ { "type": "int", "value": "999" }, { "type": "string", "value": "zzz" } ][ { "type": "inf_max" }, { "type": "inf_max" } ] -
Splitting Configuration : configuration de fractionnement personnalisée au format de tableau JSON. Dans la plupart des cas, il n'est pas nécessaire de configurer ce paramètre (définissez-le sur
[]).Si des points chauds de données se produisent dans votre instance Tablestore et que la stratégie de fractionnement automatique de Tablestore Reader est inefficace, nous vous recommandons d'utiliser des règles de fractionnement personnalisées. Un split spécifie les points de division dans la plage de clés primaires. Vous devez uniquement configurer les clés de shard, et non toutes les clés primaires.
-
Destination : configurez les éléments suivants. Vous pouvez conserver les valeurs par défaut pour les autres paramètres ou les modifier selon vos besoins.
Project Name in Production Environment : affiche le nom du projet MaxCompute associé à la source de données de destination.
Tunnel Resource Group : par défaut, Common transmission resources est sélectionné, ce qui correspond au quota gratuit de MaxCompute. Vous pouvez sélectionner un groupe de ressources Tunnel dédié selon vos besoins.
Table : sélectionnez la table de destination. Vous pouvez cliquer sur Generate Target Table Schema pour générer automatiquement la table de destination.
Partition : les données synchronisées sont enregistrées dans une partition pour une date spécifiée. Cela peut être utilisé pour la synchronisation incrémentielle quotidienne.
Write Mode : sélectionnez si vous souhaitez effacer les données existantes ou ajouter de nouvelles données.
Destination Field Mapping : mappe les champs de la source vers la table de destination. Le système fournit un mappage par défaut basé sur les champs de la table source, que vous pouvez modifier selon vos besoins.
Une fois la configuration terminée, cliquez sur Save en haut de la page.
Éditeur de code
Pour modifier le script, cliquez sur Code Editor en haut de la page.
Le script d'exemple suivant concerne une table de données source dont la clé primaire est composée d'une colonneintnomméeidet d'une colonnestringnomméename. La colonne d'attribut est un champintnomméage. Dans votre script, remplacez les valeurs des paramètresdatasourceettablepar vos valeurs réelles.
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "ots",
"parameter": {
"datasource": "source_data",
"column": [
{
"name": "id",
"type": "INTEGER"
},
{
"name": "name",
"type": "STRING"
},
{
"name": "age",
"type": "INTEGER"
}
],
"range": {
"begin": [
{
"type": "inf_min"
},
{
"type": "inf_min"
}
],
"end": [
{
"type": "inf_max"
},
{
"type": "inf_max"
}
],
"split": []
},
"table": "source_table",
"newVersion": "true"
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "odps",
"parameter": {
"partition": "pt=${bizdate}",
"truncate": true,
"datasource": "target_data",
"tunnelQuota": "default",
"column": [
"id",
"name",
"age"
],
"emptyAsNull": false,
"guid": null,
"table": "source_table",
"consistencyCommit": false
},
"name": "Writer",
"category": "writer"
}
],
"setting": {
"errorLimit": {
"record": "0"
},
"speed": {
"concurrent": 2,
"throttle": false
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}
Une fois la modification du script terminée, cliquez sur Save en haut de la page.
Exécuter la tâche de synchronisation
-
À droite de la page, cliquez sur Debug configuration, sélectionnez le groupe de ressources à utiliser pour l'exécution et ajoutez les Script parameters.
bizdate : la partition de données de la table de destination MaxCompute, par exemple
20251120.
Cliquez sur Run en haut de la page pour démarrer la tâche de synchronisation.
Étape 4 : Afficher les résultats de la synchronisation
Une fois la tâche exécutée, affichez son statut d'exécution dans les journaux et vérifiez les données synchronisées dans la console DataWorks.
-
Affichez le statut et le résultat de l'exécution de la tâche en bas de la page. Les informations de journal suivantes indiquent que la tâche de synchronisation a réussi.
2025-11-18 11:16:23 INFO Shell run successfully! 2025-11-18 11:16:23 INFO Current task status: FINISH 2025-11-18 11:16:23 INFO Cost time is: 77.208s -
Affichez les résultats dans la table de destination.
Accédez à la console DataWorks. Dans le volet de navigation de gauche, accédez à . Ensuite, cliquez sur Go to data map pour afficher la table de destination et ses données.