Data Integration propose une interface utilisateur sans code qui vous guide dans la configuration d'une source et d'une destination afin de synchroniser périodiquement les données complètes ou incrémentielles d'une table unique ou de tables fragmentées vers une table de destination. La configuration spécifique varie selon la source de données. Pour plus d'informations, consultez Sources de données prises en charge et solutions de synchronisation.
Prérequis
-
Configurez les bases de données source et de destination requises dans Data Source Management. Pour plus d'informations, consultez Liste des sources de données.
RemarquePour obtenir des informations sur les sources de données prises en charge et leurs configurations, consultez Sources de données prises en charge et solutions de synchronisation.
Pour un aperçu des fonctionnalités des sources de données, consultez Gestion des sources de données.
Achetez un groupe de ressources avec des spécifications appropriées et associez-le à l'espace de travail. Pour plus d'informations, consultez Utiliser des groupes de ressources serverless.
Établissez la connectivité réseau entre le groupe de ressources et les sources de données. Pour plus d'informations, consultez Configurer la connectivité réseau.
Si vous devez synchroniser une table MaxCompute qui n'est pas liée à l'espace de travail actuel (par exemple, lors d'une synchronisation inter-projets), vous devez d'abord ajouter le projet MaxCompute cible en tant que source de données DataWorks. Cela vous permet de sélectionner la table comme source ou destination dans la tâche de synchronisation. Pour plus d'informations sur la configuration des sources de données, consultez Gestion des sources de données.
Étape 1 : Créer un nœud Data Integration
Data Studio (nouvelle version)
Connectez-vous à la console DataWorks. Dans le volet de navigation de gauche, choisissez . Sélectionnez l'espace de travail souhaité dans la liste déroulante et cliquez sur <p><a href={url} target="_blank">Learn more.</a></p>Data Studio.
Créez un flux de travail. Pour plus d'informations, consultez Flux de travail.
-
Créez un nœud Data Integration en utilisant l'une des méthodes suivantes :
Méthode 1 : Dans le coin supérieur droit de la liste des flux de travail, cliquez sur
, puis choisissez .Méthode 2 : Double-cliquez sur le nom du flux de travail, puis faites glisser le nœud Data Integration depuis le répertoire Data Integration vers le panneau d'édition du flux de travail situé à droite.
Configurez les types de source et de destination pour le nœud, sélectionnez Single Table Batch Sync comme type spécifique, puis cliquez sur OK pour terminer la création.
Legacy Data Studio
Connectez-vous à la console DataWorks. Dans le volet de navigation de gauche, choisissez . Sélectionnez l'espace de travail souhaité dans la liste déroulante et cliquez sur Data Analytics.
Créez un flux de travail. Pour plus d'informations, consultez Créer un flux de travail.
-
Créez un nœud de synchronisation par lots en utilisant l'une des méthodes suivantes :
Méthode 1 : Développez le flux de travail, faites un clic droit sur .
Méthode 2 : Double-cliquez sur le nom du flux de travail, puis faites glisser le nœud Batch Synchronization depuis le répertoire Data Integration vers le panneau d'édition du flux de travail situé à droite.
Suivez les instructions à l'écran pour créer un nœud de synchronisation par lots.
Étape 2 : Configurer les sources de données et les ressources d'exécution
Dans cet exemple, le type de source de données Source est défini sur MySQL et la source de données est définie sur mysql. Le type de source de données Destination est défini sur MaxCompute (ODPS) et la source de données est définie sur own_mc. Le Resource Group est défini sur dwGroup et l'CU est défini sur 0,5 CU.
Dans les sections Source Information et Destination, sélectionnez les objets de source de données à partir desquels vous souhaitez lire les données et vers lesquels vous souhaitez écrire les données.
Dans la section Runtime Resource, sélectionnez le Resource Group pour la tâche de synchronisation et allouez des CU du Resource Group à la tâche. Si votre tâche de synchronisation rencontre une erreur d'absence de mémoire (OOM) en raison de ressources insuffisantes, augmentez la valeur CU du groupe de ressources. Pour connaître les configurations de quota de ressources recommandées, consultez Métriques de performance des groupes de ressources - Data Integration.
Assurez-vous que les sources de données source et de destination passent toutes deux la Connectivity Check. Si le réseau entre la source de données et le groupe de ressources n'est pas connecté, suivez les instructions à l'écran ou la documentation pour configurer la connectivité réseau. Pour plus d'informations, consultez Configurer la connectivité réseau.
Si un groupe de ressources ne s'affiche pas, vérifiez s'il a été associé à l'espace de travail. Pour plus d'informations, consultez Utiliser des groupes de ressources serverless.
Étape 3 : Configurer la solution de synchronisation
Dans les sections Source et Destination, configurez les tables pour la lecture et l'écriture des données, puis spécifiez le périmètre des données à synchroniser.
Les options de configuration varient selon le plug-in utilisé. Le contenu ci-dessous présente des configurations courantes à titre d'exemple. Pour savoir si un plug-in spécifique prend en charge une configuration donnée et comprendre son fonctionnement, consultez la documentation dédiée à ce plug-in. Pour plus d'informations, reportez-vous à la rubrique Liste des sources de données.
1. Source
Dans la section Source, configurez la table de données et renseignez les paramètres requis.
|
Opération |
Description |
|
Configurer le filtrage des données |
La méthode de configuration de la synchronisation incrémentielle varie selon la source de données (plug-in). Si aucune condition de filtrage des données n'est configurée, toutes les données de la table sont synchronisées par défaut. |
|
Configurer une clé de partitionnement pour les bases de données relationnelles |
Spécifiez la colonne utilisée pour fractionner les données afin de permettre des lectures concurrentes pendant la synchronisation. Nous vous recommandons d'utiliser la clé primaire comme clé de partitionnement, car les clés primaires sont généralement distribuées de manière homogène, ce qui permet d'éviter les points chauds de données. Actuellement, la clé de partitionnement prend uniquement en charge les types entiers. Les types chaîne, nombre à virgule flottante, date et autres ne sont pas pris en charge. Si vous spécifiez un type non pris en charge, DataWorks ignore la clé de partitionnement et utilise un seul canal pour la synchronisation. Si vous ne spécifiez pas de clé de partitionnement, la synchronisation des données utilise un seul canal. Tous les plug-ins ne prennent pas en charge la clé de partitionnement. Les informations précédentes sont fournies à titre indicatif. Pour plus de détails, consultez la documentation du plug-in. Pour plus d'informations, reportez-vous à la rubrique Liste des sources de données. |
2. Traitement des données
Le traitement des données est une fonctionnalité de la nouvelle version de Data Studio. Dans l'ancienne version de Data Studio, vous devez sélectionner Use New UI (With Data Processing Feature) lors de la création d'une tâche. Nous vous recommandons de mettre à niveau les espaces de travail hérités vers la nouvelle version afin de bénéficier de l'ensemble des fonctionnalités : Mettre à niveau vers la nouvelle version.
Le traitement des données vous permet de transformer les données de la table source en utilisant des méthodes telles que le remplacement de chaînes, le traitement assisté par IA et la vectorisation des données avant de les écrire dans la table de destination.
Prenons l'exemple du remplacement de chaîne. Les éléments de configuration incluent Name et Description. Dans les règles de remplacement, sélectionnez le Field Name, saisissez le Content to Replace (qui prend en charge la correspondance par expression régulière et la sensibilité à la casse), puis spécifiez le Replacement Content. Vous pouvez cliquez sur Add Rule pour ajouter plusieurs règles de remplacement, et utiliser Data Output Preview dans le coin supérieur droit pour afficher les résultats du traitement.
Cliquez sur le bouton bascule pour activer le traitement des données.
Dans la liste Data Processing List, cliquez sur Add Node et sélectionnez un type de traitement des données : Replace String, AI-Assisted Processing ou Data Vectorization. Vous pouvez ajouter plusieurs nœuds de traitement des données. DataWorks les traite dans l'ordre.
-
Configurez les règles de traitement des données selon les instructions affichées. Pour obtenir des informations sur le traitement assisté par IA et la vectorisation des données, consultez la rubrique Traitement des données.
RemarqueLe traitement des données nécessite des ressources de calcul supplémentaires, ce qui augmente la consommation de ressources et la durée d'exécution des tâches. Réduisez au minimum la complexité du traitement afin d'éviter d'affecter l'efficacité de la synchronisation.
3. Destination
Dans la section Destination, configurez la table de données et renseignez les paramètres requis.
|**Opération**
|
**Description**
| | --- | --- | |
Configurer les instructions pré-synchronisation et post-synchronisation
|
Certaines sources de données permettent d'exécuter des instructions SQL sur la destination avant la synchronisation (avant l'écriture des données) et après la synchronisation (après l'écriture des données).
Exemple : MySQL Writer prend en charge la configuration preSql et postSql, ce qui vous permet d'exécuter des commandes MySQL avant ou après l'écriture des données dans MySQL. Par exemple, vous pouvez configurer la commande de troncature de table MySQL `truncate table tablename` dans le champ **Statement Run Before Writing** (preSql) pour effacer les anciennes données de la table avant la synchronisation.
| |
Définir le mode de résolution des conflits d'écriture
|
Définissez la manière dont les données sont écrites dans la destination en cas de conflits, tels que des conflits de chemin ou de clé primaire. Reportez-vous à la documentation spécifique du plug-in Writer pour obtenir des détails sur la configuration.
|
Notes relatives à la configuration des tables partitionnées MaxCompute
Lorsque la destination est une table partitionnée MaxCompute, tenez compte des points suivants :
Identification des colonnes de partition : DataWorks identifie automatiquement la structure de partition de la table de destination MaxCompute. Si seules certaines colonnes de partition s'affichent dans l'interface utilisateur, vérifiez que toutes les colonnes de partition sont correctement définies à la fois dans l'environnement de développement et dans l'environnement de production. Si la tâche échoue et vous invite à configurer les informations de partition de la table, complétez les paramètres de partition dans la configuration de la destination.
-
Actualisation du mappage des colonnes : Si de nouvelles colonnes sont ajoutées à la source ou à la destination mais ne s'affichent pas dans la section de mappage des colonnes, essayez les méthodes suivantes pour actualiser le cache :
Assurez-vous que les schémas de table sont mis à jour dans l'environnement de développement et dans l'environnement de production.
Sur la page de configuration, basculez vers une autre table, puis revenez à la table d'origine pour actualiser le cache.
Si le cache n'est toujours pas actualisé, redémarrez le navigateur ou utilisez le mode navigation privée pour rouvrir la page de configuration.
4. Configurer les mappages de colonnes
Une fois la source et la destination sélectionnées, spécifiez le mappage des colonnes entre le lecteur et l'outil d'écriture. La tâche écrit les colonnes sources dans les colonnes de destination correspondantes en fonction des mappages définis.
Si une colonne source n'est mappée à aucune colonne de destination, ses données ne sont pas synchronisées.
Si le mappage automatique ne correspond pas à vos attentes, ajustez manuellement les mappages.
Pour supprimer un mappage de colonne, supprimez la ligne de liaison entre les colonnes source et destination. Les données de cette colonne source ne seront pas synchronisées.
Des incompatibilités de type de colonne entre la source et la destination peuvent générer des données erronées, ce qui empêche l'écriture des données dans la destination. Pour définir le nombre de lignes de données erronées tolérées, configurez les options Statement Run Before Writing à l'étape suivante.
Le mappage par nom identique, par ligne identique, intelligent et basé sur des règles est pris en charge. Lors de la configuration, vous pouvez également :
-
Mappage intelligent : Data Integration utilise l'analyse sémantique par IA pour identifier automatiquement les noms de colonnes, les types de données et les commentaires des tables source et de destination, puis recommande les mappages optimaux. Il vous suffit de confirmer les recommandations ou d'effectuer des ajustements mineurs.
Dans la section de mappage des colonnes, cliquez sur Intelligent Mapping pour ouvrir la boîte de dialogue de mappage intelligent. Vous pouvez décrire vos exigences de mappage en langage naturel.
-
|
**Applicable scenario**
|
**Typical example**
|
**Recommended prompt**
| | --- | --- | --- | |
Global semantic matching
|
Column names are completely different but have the same meaning(Example: `user_id` ↔ `device_id`)
|
`Perform semantic matching on all columns of the source and destination tables, and automatically identify columns with the same meaning.`
| |
Specific business domain matching
|
Only specific business columns need to be mapped(Example: only "user" or "order" related columns)
|
`Map only the columns in the source table that contain "user information" (such as name, phone number, and ID) to the corresponding columns in the destination table.`*(Note: You can replace the keyword with "order", "logistics", "payment", etc.)*
| |
Prefix/suffix convention differences
|
Core names are the same but prefixes/suffixes differ(Example: `src_user_name` ↔ `tgt_user_name`)
|
`Ignore prefix and suffix differences in column names, and perform semantic matching based on core names only.`
| |
Abbreviation and full name matching
|
One side uses abbreviations while the other uses full names(Example: `amt` ↔ `amount`)
|
`Identify common English abbreviation-to-full-name mappings (such as amt=amount, addr=address) and create mappings accordingly.`
| |
Exclude specific columns
|
Some columns are similar but do not need to be synchronized(Example: `create_time` is not needed)
|
`Perform semantic matching, but exclude all columns that contain "time" or "log" in their names.`
| |
Complex logic correction
|
The automatic matching result is incorrect and manual guidance is needed
|
`Do not map the id column of the source table to the order_id column of the destination table. Regenerate the mapping suggestions.`
| Après avoir saisi la description, cliquez sur Generate Preview. Le système affiche les mappages suggérés dans la section Matching Result Preview. Vous pouvez consulter et sélectionner les mappages souhaités, puis cliquer sur Apply pour ajouter les sélections au mappage de colonnes. Si les résultats ne vous satisfont pas, ajustez la description et régénérez l'aperçu.
-
|
Mappage basé sur des règles : Lorsque les noms de colonnes entre la source et la destination suivent un modèle, utilisez la fonctionnalité Rule-Based Mapping pour créer des mappages de colonnes en masse. Configurez des règles telles que la correspondance de préfixe/suffixe ou le remplacement de caractères, prévisualisez les résultats du mappage, puis cliquez sur Apply.
-
Attribuer des valeurs aux colonnes de destination : Vous pouvez ajouter des constantes, des paramètres de planification et des variables intégrées à la table de destination en cliquant sur Advanced Configurations dans la colonne Add Fields. Par exemple : '123', '${paramètre de planification}', '#{variable intégrée}#'.
RemarquePour plus d'informations sur les paramètres de planification, consultez Configurer les paramètres de planification.
-
Ajouter des variables intégrées : Vous pouvez ajouter manuellement des variables intégrées, les mapper aux colonnes de destination et transmettre ces variables aux tâches en aval.
Les variables intégrées disponibles pour chaque plug-in sont les suivantes :
Built-in variable
Description
Supported plug-in
'
#{DATASOURCE_NAME_SRC}#'Nom de la source de données source
-
MySQL Reader
-
MySQL (sharded) Reader
-
PolarDB Reader
-
PolarDB (sharded) Reader
-
PostgreSQL Reader
-
PolarDB-O Reader
-
PolarDB-O (sharded) Reader
'
#{DB_NAME_SRC}#'Nom de la base de données où réside la table source
-
MySQL Reader
-
MySQL (sharded) Reader
-
PolarDB Reader
-
PolarDB (sharded) Reader
-
PostgreSQL Reader
-
PolarDB-O Reader
-
PolarDB-O (sharded) Reader
'
#{SCHEMA_NAME_SRC}#'Nom du schéma où réside la table source
-
PolarDB Reader
-
PolarDB (sharded) Reader
-
PostgreSQL Reader
-
PolarDB-O Reader
-
PolarDB-O (sharded) Reader
'
#{TABLE_NAME_SRC}#'Nom de la table source
-
MySQL Reader
-
MySQL (sharded) Reader
-
PolarDB Reader
-
PolarDB (sharded) Reader
-
PostgreSQL Reader
-
PolarDB-O Reader
-
PolarDB-O (sharded) Reader
'
#{FILE_NAME_SRC}#'Nom du fichier
-
OSS Reader
-
HDFS Reader
-
FTP Reader
-
TOS Reader
-
COS Reader
-
S3 Reader
-
Azure Blob Reader
'
#{FILE_PATH_SRC}#'Chemin absolu du fichier
-
OSS Reader
-
HDFS Reader
-
FTP Reader
-
TOS Reader
-
COS Reader
-
S3 Reader
-
Azure Blob Reader
-
-
Modifier les colonnes sources : Cliquez sur Source Table Field pour effectuer les opérations suivantes :
Utilisez les fonctions prises en charge par la base de données source pour traiter les colonnes. Par exemple, utilisez Max(id) pour synchroniser uniquement la valeur maximale.
Modifiez manuellement les colonnes sources si le mappage de colonnes ne récupère pas toutes les colonnes.
RemarqueMaxCompute Reader ne prend pas en charge l'utilisation de fonctions.
Étape 4 : Configuration avancée
La configuration avancée correspond à la fonctionnalité Manually Edit Mapping des versions antérieures de la synchronisation des données.
Utilisez la configuration avancée pour contrôler les propriétés du processus de synchronisation des données. Pour plus d'informations, consultez la rubrique Channel Control.
|
Parameter |
Description |
|
Channel Control |
Spécifie le nombre maximal de threads simultanés pour la lecture depuis la source ou l'écriture vers la destination. Remarque
|
|
Expected Maximum Concurrency |
Contrôle la vitesse de synchronisation.
Remarque
La métrique de trafic est mesurée par Data Integration et ne représente pas le trafic réel de la carte réseau. Le trafic de la carte réseau est généralement 1 à 2 fois supérieur au trafic du canal, selon la sérialisation du transport du système de stockage des données. |
|
Sync Rate |
Les données erronées (dirty data) désignent les enregistrements qui n'ont pas pu être écrits dans la destination en raison d'exceptions telles que des conflits de types ou des violations de contraintes. La synchronisation par lot de table unique permet de définir une politique de gestion des données erronées. Vous pouvez définir le nombre de données erronées à tolérer et leur impact sur la tâche.
Important
Un volume excessif de données erronées affecte la vitesse globale de synchronisation de la tâche. |
|
Policy for Dirty Data Records |
Contrôle l'activation ou non du mode distribué pour la tâche.
Le mode distribué est recommandé pour les exigences de haute performance. Il permet également d'utiliser les ressources fragmentées sur les machines, améliorant ainsi l'utilisation des ressources. Important
|
|
Distributed Execution |
Pour la synchronisation entre différents fuseaux horaires, configurez le fuseau horaire source afin d'effectuer la conversion. |
Outre les configurations précédentes, la vitesse globale de synchronisation est également influencée par les performances de la source de données, l'environnement réseau et d'autres facteurs. Pour plus d'informations sur la vitesse de synchronisation et son optimisation, consultez la rubrique Vitesse de synchronisation et optimisation.
Étape 5 : Configurer les paramètres de planification
Pour une tâche de synchronisation par lot de table unique avec planification périodique, vous devez configurer les propriétés de la planification automatique. Accédez à la page d'édition du nœud, cliquez sur Time Zone à droite, puis configurez les paramètres de planification du nœud.
Configurez les paramètres de planification, les politiques, l'horaire et les dépendances pour la tâche de synchronisation. La méthode de configuration est identique à celle des autres nœuds de développement de données.
Pour les paramètres de planification dans la nouvelle version de Data Studio, consultez la rubrique Planification des nœuds (nouvelle version).
Pour les paramètres de planification dans l'ancienne version de Data Studio, consultez la rubrique Planification des nœuds (ancienne version).
Pour plus d'informations sur l'utilisation des paramètres de planification, consultez la rubrique Scénarios typiques des paramètres de planification dans Data Integration .
Étape 6 : Tester et déployer la tâche
-
Configurez les paramètres d'exécution.
À droite de la page de configuration de la tâche de synchronisation par lot de table unique, cliquez sur Scheduling Settings et configurez les paramètres suivants pour les exécutions de test.
|
**Élément de configuration**
|
**Description**
| | --- | --- | |
**Resource Group**
|
Sélectionnez un groupe de ressources disposant d'une connectivité réseau avec les sources de données.
| |
**Script Parameters**
|
Attribuez des valeurs aux paramètres d'espace réservé dans la tâche de synchronisation des données. Par exemple, si la tâche Data Integration utilise le paramètre `${bizdate}`, configurez un paramètre de date au format `yyyymmdd`.
| -
Exécutez la tâche.
Cliquez sur le bouton Exécuter
de la barre d'outils pour exécuter et déboguer la tâche dans Data Studio. Vous pouvez ensuite créer un nœud correspondant au type de table de destination pour interroger les données de cette table et vérifier si les données synchronisées répondent aux attentes. -
Déployez la tâche.
Une fois que la tâche a réussi le test d'exécution, si elle doit être exécutée périodiquement, cliquez sur le bouton
en haut de la page d'édition du nœud pour déployer la tâche dans l'environnement de production. Pour plus d'informations sur le déploiement des tâches, consultez la rubrique Déployer des tâches.
Limitations
Les tâches de synchronisation par lot de table unique ne peuvent être configurées que dans Data Studio.
-
Certaines sources de données ne prennent pas en charge le mode Assistant pour la configuration des tâches de synchronisation par lot de table unique.
Après avoir sélectionné une source de données, si le système indique que la source actuelle ne prend pas en charge le mode Assistant, cliquez sur l'icône
de la barre d'outils pour passer en mode Script et continuer la configuration de la tâche. Pour plus d'informations, consultez la rubrique Configuration en mode Script. Le mode Assistant présente une courbe d'apprentissage faible, mais ne prend pas en charge certaines fonctionnalités avancées. Pour une gestion plus fine de la configuration, cliquez sur l'icône de conversion en script dans la barre d'outils pour passer en mode Script.
Une tâche de synchronisation par lot de table unique en mode Assistant permet de configurer la synchronisation d'une seule table et une synchronisation partielle de base de données et tables fragmentées (la synchronisation de bases de données et tables fragmentées n'est prise en charge que pour certains types de sources de données et nécessite des schémas de table cohérents). Elle ne prend pas en charge la synchronisation de toute la base de données (synchronisation en masse des schémas et des données des tables). Pour la synchronisation de toute la base de données, consultez la rubrique Tâches de synchronisation par lot de toute la base de données.
Une tâche de synchronisation par lot ne peut pas être directement convertie en tâche de synchronisation en temps réel. Si vous avez besoin d'une synchronisation des données en temps réel, créez un nœud de tâche de synchronisation en temps réel de table unique.
Si un message indique que le nom du nœud est trop long lors du déploiement de la tâche, modifiez le nom du nœud dans la configuration avancée sur la page de déploiement. Assurez-vous que le nom ne dépasse pas 128 caractères.
Étapes suivantes
Une fois la tâche déployée, accédez au Centre d'opérations dans l'environnement de production pour afficher la tâche planifiée. Pour plus d'informations sur l'exécution, la gestion et la surveillance des tâches Data Integration, consultez la rubrique Exploitation et maintenance des tâches Data Integration.