AnalyticDB for MySQL 3,0 data source lets you read data from and write data to AnalyticDB for MySQL 3,0 over a bidirectional channel. Cette rubrique décrit les capacités de synchronisation des données pour AnalyticDB for MySQL 3.0 prises en charge par DataWorks.
Limites
Il est impossible de configurer ou d'exécuter des tâches de synchronisation pour une source de données ADB Lakehouse Edition sur un groupe de ressources public.
Si une instance configurée dans une source de données ADB passe de l'édition Data Warehouse à l'édition Lakehouse, les tâches de synchronisation utilisant cette source de données sur un groupe de ressources public échouent. Avant de changer d'édition, vérifiez si des tâches s'exécutent sur un groupe de ressources public et déplacez-les vers un groupe de ressources Serverless (recommandé) ou un groupe de ressources exclusif pour Data Integration.
La synchronisation par lots prend en charge la lecture des vues (tables VIEW).
Types de champs pris en charge
Lecture par lots
Le tableau suivant répertorie les mappages de types AnalyticDB for MySQL 3.0 pour AnalyticDB for MySQL 3.0 Reader.
|
Catégorie de type |
Type AnalyticDB for MySQL 3.0 |
|
Entier |
INT, INTEGER, TINYINT, SMALLINT et BIGINT |
|
Virgule flottante |
FLOAT, DOUBLE et DECIMAL |
|
Chaîne |
VARCHAR |
|
Date et heure |
DATE, DATETIME, TIMESTAMP et TIME |
|
Booléen |
BOOLEAN |
Écriture par lots
Le tableau suivant répertorie les mappages de types AnalyticDB for MySQL 3.0 pour AnalyticDB for MySQL 3.0 Writer.
|
Type |
Type de données AnalyticDB for MySQL 3.0 |
|
Entier |
INT, INTEGER, TINYINT, SMALLINT et BIGINT |
|
Virgule flottante |
FLOAT, DOUBLE et DECIMAL |
|
Chaîne |
VARCHAR |
|
Date et heure |
DATE, DATETIME, TIMESTAMP et TIME |
|
Booléen |
BOOLEAN |
Ajouter une source de données
Avant de développer une tâche de synchronisation dans DataWorks, ajoutez la source de données requise à DataWorks en suivant les instructions de la rubrique Configuration de la source de données. Consultez les descriptions des paramètres dans la console DataWorks pour comprendre la signification des paramètres lors de l'ajout d'une source de données.
Développer des tâches de synchronisation des données
Pour obtenir des informations sur le point d'entrée et la procédure de configuration d'une tâche de synchronisation, consultez les guides de configuration suivants.
Configurer une tâche de synchronisation par lots pour une seule table
Pour la procédure, consultez les rubriques Configuration sans code et Configuration en mode script.
Pour tous les paramètres du mode script et des exemples de scripts, consultez la section Annexe : Exemples de scripts et paramètres.
Configurer une tâche de synchronisation en temps réel pour une seule table
Pour la procédure, consultez la rubrique Configuration d'une tâche de synchronisation en temps réel pour une seule table.
Configurer une tâche de synchronisation par lots pour toute la base de données
Pour la procédure, consultez la rubrique Configuration de la synchronisation par lots de la base de données.
Configurer une tâche de synchronisation en temps réel pour toute la base de données
Pour la procédure, consultez la rubrique Configurer des tâches de synchronisation en temps réel pour toute la base de données.
Annexe : Exemples de scripts et paramètres
Configurer une tâche de synchronisation par lots à l'aide de l'éditeur de code
Pour configurer une tâche de synchronisation par lots à l'aide de l'éditeur de code, définissez les paramètres associés dans le script selon les exigences de format de script unifié. Pour plus d'informations, consultez la rubrique Configuration en mode script. Les informations suivantes décrivent les paramètres à configurer pour les sources de données lors de la configuration d'une tâche de synchronisation par lots à l'aide de l'éditeur de code.
Exemple de script Reader
{ "type": "job", "steps": [ { "stepType": "analyticdb_for_mysql", //Plug-in name. "parameter": { "column": [ //Column names. "id", "value", "table" ], "connection": [ { "datasource": "xxx", //Data source. "table": [ //Table name. "xxx" ] } ], "where": "", //Filter condition. "splitPk": "", //Split key. "encoding": "UTF-8" //Encoding format. }, "name": "Reader", "category": "reader" }, { "stepType": "stream", "parameter": {}, "name": "Writer", "category": "writer" } ], "version": "2.0", "order": { "hops": [ { "from": "Reader", "to": "Writer" } ] }, "setting": { "errorLimit": { "record": "0" //Maximum number of error records during synchronization. }, "speed": { "throttle":true,//When throttle is false, mbps is ignored and throughput is unlimited; when true, throughput is limited. "concurrent":1 //Job concurrency. "mbps":"12"//Rate limit. Here, 1 mbps = 1 MB/s. } } }
Paramètres du script Reader
Paramètre | Description | Obligatoire | Valeur par défaut |
datasource | Nom de la source de données. En mode script, vous pouvez ajouter une source de données. La valeur doit correspondre au nom de la source de données ajoutée. | Oui | Aucune |
table | Table à synchroniser. | Oui | Aucune |
column | Colonnes à synchroniser depuis la table configurée. Décrivez les champs dans un tableau JSON. Par défaut, toutes les colonnes sont sélectionnées, par exemple [ * ].
| Oui | Aucune |
splitPk | Lorsque AnalyticDB for MySQL 3.0 Reader extrait des données, la spécification de splitPk signifie que vous souhaitez utiliser le champ représenté par splitPk pour diviser les données. La synchronisation des données démarre des tâches concurrentes pour améliorer l'efficacité.
| Non | Aucune |
where | Condition de filtre. Dans de nombreux scénarios métier, vous synchronisez les données du jour en cours. Définissez la condition where sur
| Non | Aucune |
Exemple de script Writer
{ "type": "job", "steps": [ { "stepType": "stream", "parameter": {}, "name": "Reader", "category": "reader" }, { "stepType": "analyticdb_for_mysql", //Plug-in name. "parameter": { "postSql": [], //Statements to run after import. "tableType": null, //Reserved field, empty by default. "datasource": "hangzhou_ads", //Data source name. "column": [ //Fields to synchronize. "id", "value" ], "guid": null, "writeMode": "insert", //Write mode. See the writeMode parameter description. "batchSize": 2048, //Batch size. See the batchSize parameter description. "encoding": "UTF-8", //Encoding format. "table": "t5", //Name of the table to write to. "preSql": [] //Statements to run before import. }, "name": "Writer", "category": "writer" } ], "version": "2.0", //Configuration file format version. "order": { "hops": [ { "from": "Reader", "to": "Writer" } ] }, "setting": { "errorLimit": { "record": "0" //Number of error records. }, "speed": { "throttle":true,//When throttle is false, mbps is ignored and throughput is unlimited; when true, throughput is limited. "concurrent":2, //Job concurrency. "mbps":"12"//Rate limit. Here, 1 mbps = 1 MB/s. } } }
Paramètres du script Writer
Paramètre | Description | Obligatoire | Valeur par défaut |
datasource | Nom de la source de données. En mode script, vous pouvez ajouter une source de données. La valeur doit correspondre au nom de la source de données ajoutée. | Oui | Aucune |
table | Nom de la table à synchroniser. | Oui | Aucune |
writeMode | Mode d'écriture. Choisissez insert, replace ou update.
| Non | insert |
column | Champs à écrire dans la table de destination, séparés par des virgules, par exemple Remarque Si un nom de champ contient select, encadrez le nom du champ avec des accents graves. Par exemple, écrivez item_select_no sous la forme | Oui | Aucune |
preSql | Instructions SQL à exécuter avant la tâche de synchronisation. Le mode Assistant n'autorise qu'une seule instruction SQL ; le mode script prend en charge plusieurs instructions, telles que l'effacement des anciennes données. Remarque Les transactions ne sont pas prises en charge pour plusieurs instructions SQL. | Non | Aucune |
postSql | Instructions SQL à exécuter après la tâche de synchronisation. Le mode Assistant n'autorise qu'une seule instruction SQL ; le mode script prend en charge plusieurs instructions, telles que l'ajout d'un horodatage. Remarque Les transactions ne sont pas prises en charge pour plusieurs instructions SQL. | Non | Aucune |
batchSize | Nombre d'enregistrements soumis en un lot. Cela peut réduire considérablement les interactions réseau entre le système de synchronisation des données et MySQL et améliorer le débit global. Une valeur excessivement grande peut provoquer une erreur de dépassement de mémoire (OOM) pendant le processus de synchronisation. | Non | 1 024 |