La source de données AnalyticDB for MySQL 3.0 permet une lecture et une écriture bidirectionnelles des données AnalyticDB for MySQL 3.0. Cette rubrique décrit les capacités de synchronisation des données prises en charge par DataWorks pour AnalyticDB for MySQL 3.0.
Limites
Vous ne pouvez ni configurer ni exécuter de tâches de synchronisation pour une source de données AnalyticDB for MySQL Edition Data Lakehouse sur un groupe de ressources partagé.
Si l'instance ADB configurée pour la source de données passe de l'édition Data Warehouse à l'édition Data Lakehouse, les tâches de synchronisation utilisant cette source de données et s'exécutant sur un groupe de ressources partagé échouent. Avant de changer d'édition, vérifiez si des tâches de synchronisation sont en cours d'exécution sur un groupe de ressources partagé et migrez-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 depuis des vues.
Types de données pris en charge
Lecture par lots
Le tableau suivant répertorie les mappages de types de données utilisés par le lecteur AnalyticDB for MySQL 3.0.
|
Catégorie de type |
Type de données AnalyticDB for MySQL 3.0 |
|
Types entiers |
INT, INTEGER, TINYINT, SMALLINT, BIGINT |
|
Types à virgule flottante |
FLOAT, DOUBLE, DECIMAL |
|
Types chaîne |
VARCHAR |
|
Types date et heure |
DATE, DATETIME, TIMESTAMP, TIME |
|
Types booléens |
BOOLEAN |
Écriture par lots
Le tableau suivant répertorie les mappages de types de données utilisés par l'outil d'écriture AnalyticDB for MySQL 3.0.
|
Type |
Type de données AnalyticDB for MySQL 3.0 |
|
Types entiers |
INT, INTEGER, TINYINT, SMALLINT, BIGINT |
|
Types à virgule flottante |
FLOAT, DOUBLE, DECIMAL |
|
Types chaîne |
VARCHAR |
|
Types date et heure |
DATE, DATETIME, TIMESTAMP, TIME |
|
Types booléens |
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 leur signification lors de l'ajout d'une source de données.
Développement de 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.
Guide de configuration des tâches de synchronisation par lots pour une seule table
Pour la procédure, consultez les rubriques Configuration sans code et Configuration en mode script.
Pour l'ensemble complet des paramètres en mode script et un exemple de script, consultez la section Annexe : Exemple de script et description des paramètres ci-dessous.
Guide de configuration des tâches de synchronisation en temps réel pour une seule table
Pour la procédure, consultez la rubrique Configuration des tâches de synchronisation en temps réel pour une seule table.
Guide de configuration des tâches de synchronisation par lots pour toute la base de données
Pour la procédure, consultez la rubrique Configuration de la synchronisation de base de données par lots.
Guide de configuration des tâches 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 : Exemple de script et description des 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 que vous devez 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 pour le lecteur
{
"type": "job",
"steps": [
{
"stepType": "analyticdb_for_mysql", //Plugin name.
"parameter": {
"column": [ //Column names.
"id",
"value",
"table"
],
"connection": [
{
"datasource": "xxx", //Data source.
"table": [ //Table name.
"xxx"
]
}
],
"where": "", //Filter condition.
"splitPk": "", //Shard 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 dirty data records allowed during synchronization.
},
"speed": {
"throttle":true,//If throttle is set to false, the mbps parameter does not take effect, indicating no rate limiting; if throttle is set to true, rate limiting is enabled.
"concurrent":1 //Job concurrency.
"mbps":"12"//Rate limit, where 1 mbps = 1 MB/s.
}
}
}
Paramètres du script du lecteur
|
Paramètre |
Description |
Obligatoire |
Valeur par défaut |
|
datasource |
Nom de la source de données. Le mode script prend en charge l'ajout de sources de données. La valeur de ce paramètre doit correspondre au nom de la source de données ajoutée. |
Oui |
Aucune |
|
table |
Table à synchroniser. |
Oui |
Aucune |
|
column |
Ensemble des colonnes de la table configurée à synchroniser. Utilisez un tableau JSON pour décrire les informations de colonne. Par défaut, toutes les colonnes sont utilisées, par exemple [ * ].
|
Oui |
Aucune |
|
splitPk |
Lorsque le lecteur AnalyticDB for MySQL 3.0 extrait des données, la spécification de splitPk indique que vous souhaitez utiliser la colonne représentée par splitPk pour partitionner les données. La synchronisation des données lance ensuite des tâches concurrentes pour améliorer le débit.
|
Non |
Aucune |
|
where |
Condition de filtre. Dans les scénarios réels, vous synchronisez souvent uniquement les données du jour en cours. Dans ce cas, définissez la condition where sur
|
Non |
Aucune |
Exemple de script pour l'outil d'écriture
{
"type": "job",
"steps": [
{
"stepType": "stream",
"parameter": {},
"name": "Reader",
"category": "reader"
},
{
"stepType": "analyticdb_for_mysql", //Plugin name.
"parameter": {
"postSql": [], //Statements to execute after the import.
"tableType": null, //Reserved field, empty by default.
"datasource": "hangzhou_ads", //Data source name.
"column": [ //Columns to synchronize.
"id",
"value"
],
"guid": null,
"writeMode": "insert", //Write mode. See the description of the writeMode parameter.
"batchSize": 2048, //Batch write size. See the description of the batchSize parameter.
"encoding": "UTF-8", //Encoding format.
"table": "t5", //Name of the destination table.
"preSql": [] //Statements to execute before the import.
},
"name": "Writer",
"category": "writer"
}
],
"version": "2.0", //Version number of the configuration file format.
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
},
"setting": {
"errorLimit": {
"record": "0" //Number of error records.
},
"speed": {
"throttle":true,//If throttle is set to false, the mbps parameter does not take effect, indicating no rate limiting; if throttle is set to true, rate limiting is enabled.
"concurrent":2, //Job concurrency.
"mbps":"12"//Rate limit, where 1 mbps = 1 MB/s.
}
}
}
Paramètres du script de l'outil d'écriture
|
Paramètre |
Description |
Obligatoire |
Valeur par défaut |
|
datasource |
Nom de la source de données. Le mode script prend en charge l'ajout de sources de données. La valeur de ce paramètre doit correspondre au nom de la source de données ajoutée. |
Oui |
Aucune |
|
table |
Nom de la table à synchroniser. |
Oui |
Aucune |
|
writeMode |
Méthode utilisée pour écrire les données. Valeurs valides : insert, replace et update.
|
Non |
insert |
|
column |
Colonnes de la table de destination vers lesquelles écrire les données, séparées par des virgules. Par exemple, Remarque
Si un nom de colonne contient select, placez le nom de la colonne entre des backticks. Par exemple, écrivez item_select_no sous la forme |
Oui |
Aucune |
|
preSql |
Instructions SQL à exécuter avant l'exécution de la tâche de synchronisation des données. Le mode Assistant n'autorise qu'une seule instruction SQL, tandis que le mode script prend en charge plusieurs instructions SQL, par exemple pour effacer les anciennes données. Remarque
Les transactions ne sont pas prises en charge lorsqu'il y a plusieurs instructions SQL. |
Non |
Aucune |
|
postSql |
Instructions SQL à exécuter après l'exécution de la tâche de synchronisation des données. Le mode Assistant n'autorise qu'une seule instruction SQL, tandis que le mode script prend en charge plusieurs instructions SQL, par exemple pour ajouter un horodatage. Remarque
Les transactions ne sont pas prises en charge lorsqu'il y a plusieurs instructions SQL. |
Non |
Aucune |
|
batchSize |
Nombre d'enregistrements soumis dans chaque lot. Cette valeur peut réduire considérablement le nombre d'allers-retours réseau entre le système de synchronisation des données et MySQL, améliorant ainsi le débit global. Si la valeur est trop élevée, le processus de synchronisation des données peut générer une exception d'erreur de mémoire insuffisante (OOM). |
Non |
1 024 |