Tous les produits
Search
Centre de documentation

DataWorks:Source de données AnalyticDB for MySQL 3.0

Dernière mise à jour :Aug 10, 2026

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

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

  • L'élagage des colonnes est pris en charge : vous pouvez sélectionner un sous-ensemble de colonnes à exporter.

  • La réorganisation des colonnes est prise en charge : les colonnes peuvent être exportées dans un ordre différent de la structure de la table.

  • Des constantes peuvent être configurées. 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 contient un nom de colonne réservé.

    • 1 est une constante entière.

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

    • null est un pointeur nul.

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

    • 2,3 est un nombre à virgule flottante.

    • true est une valeur booléenne.

  • column doit spécifier explicitement l'ensemble des colonnes à synchroniser et ne peut pas être vide.

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.

  • Nous vous recommandons d'utiliser la clé primaire de la table pour splitPk, car les clés primaires sont généralement réparties de manière uniforme et les partitions résultantes sont moins susceptibles de présenter des points chauds de données.

  • Actuellement, splitPk prend uniquement en charge le partitionnement par entier. Les autres types tels que les chaînes, les nombres à virgule flottante et les dates ne sont pas pris en charge. Si vous spécifiez un type non pris en charge, splitPk est ignoré et un seul canal est utilisé pour la synchronisation.

  • Si splitPk n'est pas spécifié, y compris les cas où splitPk n'est pas fourni ou où la valeur de splitPk est vide, la synchronisation des données utilise un seul canal pour synchroniser la table.

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

  • Une condition where permet une synchronisation incrémentielle efficace. Si aucune clause where n'est fournie, y compris les cas où la clé ou la valeur de where est manquante, la synchronisation des données traite la tâche comme une synchronisation complète.

  • Vous ne pouvez pas définir la condition where sur LIMIT 10, car cela ne respecte pas la syntaxe de la clause WHERE SQL de MySQL.

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.

  • insert : En l'absence de conflit de clé primaire ou d'index unique, les données sont écrites normalement. En cas de conflit de clé primaire ou d'index unique, la ligne actuelle est automatiquement ignorée et non mise à jour.

  • replace : En l'absence de conflit de clé primaire ou d'index unique, les données sont écrites normalement. En cas de conflit de clé primaire ou d'index unique, la ligne conflictuelle est supprimée et la nouvelle ligne est insérée, de sorte que toutes les colonnes de la ligne d'origine sont remplacées.

  • update : En l'absence de conflit de clé primaire ou d'index unique, les données sont écrites normalement. En cas de conflit de clé primaire ou d'index unique, toutes les colonnes de la ligne d'origine sont remplacées par celles de la nouvelle ligne.

    Remarque

    Cette méthode est prise en charge uniquement en mode script.

Non

insert

column

Colonnes de la table de destination vers lesquelles écrire les données, séparées par des virgules. Par exemple, "column": ["id", "name", "age"]. Pour écrire dans toutes les colonnes dans l'ordre, utilisez , par exemple "column": [""].

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

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