Tous les produits
Search
Centre de documentation

DataWorks:PolarDB-X 2.0

Dernière mise à jour :Aug 10, 2026

DataWorks Data Integration prend en charge PolarDB-X 2.0 en tant que source et destination pour les tâches de synchronisation hors ligne (par lots). Cette rubrique présente les fonctionnalités prises en charge, les prérequis ainsi que la référence des paramètres de script pour les composants Reader et Writer de PolarDB-X 2.0.

Vue d'ensemble de la configuration

Pour synchroniser des données entre PolarDB-X 2.0 et d'autres systèmes, suivez ces étapes :

  1. Vérifiez que vous utilisez PolarDB-X 2.0 (et non PolarDB-X 1.0).

  2. Accordez les autorisations requises au compte de base de données utilisé par DataWorks.

  3. Ajoutez la source de données PolarDB-X 2.0 dans DataWorks.

  4. Configurez et exécutez une tâche de synchronisation hors ligne.

Versions prises en charge

Lecture et écriture hors ligne : PolarDB-X 2.0. La synchronisation hors ligne permet également de lire les données depuis des vues.

Limites

Les sources de données PolarDB-X 2.0 prennent en charge les groupes de ressources serverless (recommandé) et les groupes de ressources exclusifs pour Data Integration.

Types de champs pris en charge

Pour obtenir la liste complète des types de champs PolarDB-X 2.0, consultez la page Types de données. Le tableau ci-dessous répertorie les principaux types de champs et leur statut de prise en charge.

Type de champ

Lecture hors ligne (PolarDB-X 2.0 Reader)

Écriture hors ligne (PolarDB-X 2.0 Writer)

TINYINT

Pris en charge

Pris en charge

SMALLINT

Pris en charge

Pris en charge

INTEGER

Pris en charge

Pris en charge

BIGINT

Pris en charge

Pris en charge

FLOAT

Pris en charge

Pris en charge

DOUBLE

Pris en charge

Pris en charge

DECIMAL/NUMERIC

Pris en charge

Pris en charge

REAL

Non pris en charge

Non pris en charge

VARCHAR

Pris en charge

Pris en charge

JSON

Pris en charge

Pris en charge

TEXT

Pris en charge

Pris en charge

MEDIUMTEXT

Pris en charge

Pris en charge

LONGTEXT

Pris en charge

Pris en charge

VARBINARY

Pris en charge

Pris en charge

BINARY

Pris en charge

Pris en charge

TINYBLOB

Pris en charge

Pris en charge

MEDIUMBLOB

Pris en charge

Pris en charge

LONGBLOB

Pris en charge

Pris en charge

ENUM

Pris en charge

Pris en charge

SET

Pris en charge

Pris en charge

BOOLEAN

Pris en charge

Pris en charge

BIT

Pris en charge

Pris en charge

DATE

Pris en charge

Pris en charge

DATETIME

Pris en charge

Pris en charge

TIMESTAMP

Pris en charge

Pris en charge

TIME

Pris en charge

Pris en charge

YEAR

Pris en charge

Pris en charge

LINESTRING

Non pris en charge

Non pris en charge

POLYGON

Non pris en charge

Non pris en charge

MULTIPOINT

Non pris en charge

Non pris en charge

MULTILINESTRING

Non pris en charge

Non pris en charge

MULTIPOLYGON

Non pris en charge

Non pris en charge

GEOMETRYCOLLECTION

Non pris en charge

Non pris en charge

Prérequis

Avant de commencer, assurez-vous des points suivants :

  • Vous exécutez PolarDB-X 2.0. Pour PolarDB-X 1.0, utilisez plutôt la source de données DRDS.

  • Vous disposez d'un compte PolarDB-X 2.0 avec les autorisations décrites ci-dessous.

Accorder des autorisations au compte

Créez un compte dédié PolarDB-X 2.0 pour l'accès DataWorks, puis accordez les autorisations appropriées en fonction de votre scénario de synchronisation.

Lecture hors ligne (autorisation SELECT sur la table source)

Le compte doit disposer de l'autorisation SELECT sur la table source.

Écriture hors ligne (autorisations d'écriture sur la table de destination)

Le compte doit disposer des autorisations INSERT, DELETE et UPDATE sur la table de destination.

Synchronisation en temps réel — base de données complète (accès aux journaux binaires)

  • Compte privilégié : Peut lire les données des journaux binaires (binlog) par défaut.

  • Compte standard : Accordez les autorisations SELECT, REPLICATION SLAVE et REPLICATION CLIENT à l'aide d'un compte privilégié :

-- Create a sync account and allow login from any host (% represents any host)
-- CREATE USER 'sync_account'@'%' IDENTIFIED BY 'password';

-- Grant permissions for real-time (CDC) synchronization
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'sync_account'@'%';

Ajouter une source de données

Ajoutez la source de données PolarDB-X 2.0 à DataWorks avant de configurer toute tâche de synchronisation. Suivez les instructions fournies dans la rubrique Configuration de la source de données. Les descriptions des paramètres sont disponibles dans la console DataWorks lors de l'ajout de la source de données.

Configurer une tâche de synchronisation hors ligne

Pour connaître le point d'entrée et la procédure de configuration, consultez la rubrique Configurer une tâche de synchronisation hors ligne dans l'éditeur de code.

Pour le format de script et tous les paramètres disponibles, reportez-vous à la section Annexe : Démonstration de script et description des paramètres ci-dessous.

Annexe : Démonstration de script et description des paramètres

Utilisez l'éditeur de code pour configurer les tâches de synchronisation par lots au format JSON. Pour connaître les exigences relatives au format de script unifié, consultez la rubrique Configurer une tâche dans l'éditeur de code.

Tous les exemples utilisent "type": "job" et "version": "2.0" au niveau supérieur.

Démonstration du script Reader

{
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "polardbx20",
            "parameter": {
                "connection": [
                    {
                        "datasource": "",
                        "table": [
                            "t1"
                        ]
                    }
                ],
                "column": [
                    "c1",
                    "c2",
                    "'const'"
                ],
                "where": "",
                "splitPk": "",
                "checkSlave": "true",
                "slaveDelayLimit": "300"
            },
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "stream",
            "parameter": {},
            "name": "Writer",
            "category": "writer"
        }
    ],
    "setting": {
        "errorLimit": {
            "record": "0"
        },
        "speed": {
            "throttle": true,
            "concurrent": 1,
            "mbps": "12"
        }
    },
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    }
}

Paramètres du script Reader

Paramètre

Description

Obligatoire

Valeur par défaut

datasource

Nom de la source de données. Doit correspondre au nom configuré sur la page de gestion des sources de données.

Oui

Aucune

table

Table à synchroniser. Une seule table est prise en charge par bloc de connexion.

Oui

Aucune

column

Colonnes à synchroniser, sous forme de tableau JSON. Utilisez ["*"] pour inclure toutes les colonnes. Ne peut pas être vide. Prend en charge l'élagage des colonnes (sélection de colonnes spécifiques), le réordonnancement des colonnes (l'ordre ne doit pas nécessairement correspondre au schéma de la table) et les constantes conformément à la syntaxe SQL de PolarDB-X 2.0. Exemple : ["id", "table", "1", "'mingya.wmy'", "'null'", "to_char(a+1)", "2.3", "true"].

Oui

Aucune

splitPk

Colonne utilisée pour le partitionnement des données, permettant des lectures simultanées. Définissez-la sur la clé primaire pour équilibrer les shards. Ne prend en charge que les colonnes de type entier ; les colonnes de type chaîne, flottant et date sont ignorées, et les données basculent vers un seul canal. Si ce paramètre est vide ou omis, les données sont lues via un seul canal.

Non

Aucune

where

Condition de filtre SQL WHERE pour la synchronisation incrémentielle. Par exemple, gmt_create>$bizdate synchronise uniquement les données du jour en cours. Ne peut pas être défini sur LIMIT 10. Si omis, toutes les données sont synchronisées.

Non

Aucune

checkSlave

Lorsque la source de données est une instance en lecture seule, vérifie le retard de réplication avant le démarrage de la tâche pour éviter la perte de données.

Non

true

slaveDelayLimit

Retard de réplication maximal autorisé en secondes. Si le retard réel dépasse cette valeur, la tâche échoue.

Non

30

Démonstration du script Writer

{
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "stream",
            "parameter": {},
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "PolarDB-X 2.0",
            "parameter": {
                "postSql": [],
                "datasource": "",
                "column": [
                    "id",
                    "value"
                ],
                "writeMode": "insert",
                "batchSize": 1024,
                "table": "",
                "preSql": [
                    "delete from XXX;"
                ]
            },
            "name": "Writer",
            "category": "writer"
        }
    ],
    "setting": {
        "errorLimit": {
            "record": "0"
        },
        "speed": {
            "throttle": true,
            "concurrent": 1,
            "mbps": "12"
        }
    },
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    }
}

Paramètres du script Writer

Paramètre

Description

Obligatoire

Valeur par défaut

datasource

Nom de la source de données. Doit correspondre au nom configuré sur la page de gestion des sources de données.

Oui

Aucune

table

Nom de la table de destination.

Oui

Aucune

column

Colonnes de destination vers lesquelles écrire, sous forme de tableau JSON. Exemple : ["id", "name", "age"]. Utilisez ["*"] pour écrire dans toutes les colonnes selon l'ordre du schéma.

Oui

Aucune

writeMode

Mode de gestion des conflits d'écriture. Définissez-le sur insert (insert into) ou replace (replace into). Consultez la section Modes d'écriture ci-dessous.

Non

insert

preSql

Instruction(s) SQL à exécuter avant le démarrage de la tâche — par exemple, truncate table tablename;. Dans l'interface sans code, une seule instruction est autorisée. Dans l'éditeur de code, plusieurs instructions sont prises en charge. Les transactions ne sont pas prises en charge pour plusieurs instructions.

Non

Aucune

postSql

Instruction(s) SQL à exécuter après la fin de la tâche — par exemple, ajouter une colonne d'horodatage. Dans l'interface sans code, une seule instruction est autorisée. Dans l'éditeur de code, plusieurs instructions sont prises en charge. Les transactions ne sont pas prises en charge pour plusieurs instructions.

Non

Aucune

batchSize

Nombre d'enregistrements soumis par lot. Une valeur plus élevée réduit les allers-retours réseau et améliore le débit, mais peut provoquer un dépassement de mémoire si elle est définie trop haut.

Non

256

Modes d'écriture

Mode

Valeur de script

Comportement en cas de conflit

insert into

insert

En cas de conflit de clé primaire ou d'index unique, la ligne concernée est ignorée et enregistrée comme donnée erronée.

replace into

replace

Si aucun conflit ne se produit, le comportement est identique à celui de insert into. En cas de conflit, la ligne existante est supprimée et la nouvelle ligne est insérée, remplaçant tous les champs.

Paramètres au niveau de la tâche

Paramètre

Description

Valeur par défaut

errorLimit.record

Nombre d'enregistrements d'erreur autorisés avant l'échec de la tâche.

"0"

speed.throttle

Indique s'il faut appliquer une limite de débit. Définissez-le sur true pour l'activer ; false désactive la limite de débit et le paramètre mbps n'a aucun effet.

true

speed.concurrent

Nombre de canaux simultanés.

1

speed.mbps

Débit de synchronisation maximal en Mbps. Contrôle la pression de lecture/écriture sur la source et la destination. Prend effet uniquement lorsque throttle est défini sur true.

"12"