Tous les produits
Search
Centre de documentation

DataWorks:Source de données AnalyticDB for MySQL 3.0

Dernière mise à jour :Oct 09, 2026

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

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 [ * ].

  • La sélection de colonnes est prise en charge, ce qui permet d'exporter uniquement les colonnes sélectionnées.

  • Le réordonnancement des colonnes est pris en charge, de sorte que l'ordre d'exportation peut différer de l'ordre du schéma de la table.

  • Les valeurs constantes sont prises en charge. Suivez la syntaxe MySQL, par exemple [“id”, “table“, “1”, “‘bazhen.csy’”, “null”, “to_char(a + 1)”, “2.3” , “true”].

    • id est un nom de colonne standard.

    • table est un nom de colonne réservé.

    • 1 est une constante entière.

    • bazhen.csy est une constante de chaîne.

    • null est un pointeur nul.

    • to_char(a + 1) est une expression de fonction pour calculer la longueur de la chaîne.

    • 2.3 est un nombre à virgule flottante.

    • true est une valeur booléenne.

  • columnVous devez spécifier explicitement un ensemble non vide de colonnes à synchroniser.

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é.

  • Nous vous recommandons d'utiliser la clé primaire de la table pour splitPk. Les valeurs de clé primaire sont généralement distribuées uniformément, ce qui rend les points chauds de données moins probables dans les shards résultants.

  • Actuellement, splitPk prend en charge uniquement la division des données entières, et non des chaînes, des nombres à virgule flottante, des dates ou d'autres types. Si vous spécifiez un type non pris en charge, le paramètre splitPk est ignoré et la synchronisation utilise un seul canal.

  • Si splitPk n'est pas spécifié, soit parce que le paramètre splitPk est absent, soit parce que sa valeur splitPk est vide, la synchronisation des données lit la table via un seul canal.

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 gmt_create>$bizdate.

  • where permet la synchronisation incrémentielle des données métier. Si l'instruction where n'est pas spécifiée, soit parce que la clé where ou sa valeur est absente, toutes les données sont synchronisées.

  • Ne définissez pas la condition where sur LIMIT 10. Cela ne satisfait pas les contraintes d'une clause WHERE SQL MySQL.

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.

  • insert : Si aucun conflit de clé primaire ou d'index unique ne se produit, les données sont écrites normalement. En cas de conflit, la ligne actuelle est ignorée et n'est pas mise à jour.

  • replace : Si aucun conflit de clé primaire ou d'index unique ne se produit, les données sont écrites normalement. En cas de conflit, la ligne conflictuelle est supprimée avant l'insertion de la nouvelle ligne, de sorte que tous les champs de la ligne d'origine sont remplacés.

  • update : Si aucun conflit de clé primaire ou d'index unique ne se produit, les données sont écrites normalement. En cas de conflit, la nouvelle ligne remplace tous les champs de la ligne d'origine.

    Remarque

    Ce mode est pris en charge uniquement en mode script.

Non

insert

column

Champs à écrire dans la table de destination, séparés par des virgules, par exemple "column": ["id", "name", "age"]. Pour écrire toutes les colonnes dans l'ordre, utilisez , par exemple "column": [""].

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 item_select_no.

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