Tous les produits
Search
Centre de documentation

DataWorks:DM (Dameng)

Dernière mise à jour :Aug 10, 2026

Data Integration de DataWorks prend en charge DM (Dameng) en tant que source et destination pour la synchronisation par lots hors ligne. Utilisez DM Reader pour extraire les données des bases de données DM et DM Writer pour les charger dans ces bases.

Fonctionnalités

Fonctionnalité DM Reader DM Writer
Synchronisation hors ligne (par lots) Oui Oui
Lecture à partir de vues Oui
Élagage des colonnes Oui
Réorganisation des colonnes Oui
Lecture parallèle (splitPk) Oui (colonnes entières uniquement)
Synchronisation incrémentielle (where) Oui
Exécution SQL préalable Oui Oui
Exécution SQL postérieure Oui
Groupes de ressources Serverless Oui Oui
Groupes de ressources exclusifs pour Data Integration Oui Oui

Types de champs pris en charge

DM Reader et DM Writer prennent en charge la plupart des types de données courants des bases de données relationnelles. Le tableau suivant répertorie les types de données DM que DM Reader peut convertir. Les types non pris en charge génèrent une erreur de lecture : vérifiez votre schéma avant de configurer une tâche de synchronisation.

Catégorie Types de données DM
Entier INT, TINYINT, SMALLINT, BIGINT
Virgule flottante REAL, FLOAT, DOUBLE, NUMBER, DECIMAL
Chaîne CHAR, VARCHAR, LONGVARCHAR, TEXT
Date et heure DATE, DATETIME, TIMESTAMP, TIME
Booléen BIT
Binaire BINARY, VARBINARY, BLOB

Configuration d'une tâche de synchronisation

Synchronisation hors ligne d'une table unique

Configurez une tâche via l'interface utilisateur sans code ou l'éditeur de code :

Pour la référence complète du script et les descriptions des paramètres, consultez Référence du script.

Synchronisation hors ligne d'une base de données entière

Consultez Configuration d'une tâche de synchronisation en temps réel pour une base de données entière.

Référence du script

Lors de la configuration d'une tâche de synchronisation par lots dans l'éditeur de code, utilisez le format de script unifié. Les sections suivantes détaillent les paramètres spécifiques à DM pour Reader et Writer.

Reader

Exemple de script

{
  "type": "job",
  "version": "2.0",
  "order": {
    "hops": [
      { "from": "Reader", "to": "Writer" }
    ]
  },
  "setting": {
    "errorLimit": { "record": "0" },
    "speed": {
      "throttle": true,
      "concurrent": 1,
      "mbps": "12"
    }
  },
  "steps": [
    {
      "category": "reader",
      "name": "Reader",
      "stepType": "dm",
      "parameter": {
        "datasource": "dm_datasource",
        "table": "table",
        "column": ["*"],
        "preSql": ["delete from XXX;"],
        "fetchSize": 2048
      }
    },
    {
      "category": "writer",
      "name": "Writer",
      "stepType": "stream",
      "parameter": {}
    }
  ]
}

Paramètres de Reader

Paramètre Obligatoire Valeur par défaut Description
datasource Oui Nom de la source de données DM. Consultez Configuration d'une source de données DM.
table Oui Table source des données.
column Oui Colonnes à synchroniser, sous forme de tableau JSON. Utilisez ["*"] pour toutes les colonnes. Prend en charge l'élagage des colonnes, la réorganisation des colonnes et les constantes (entier, chaîne, null, expression de fonction, virgule flottante, booléen).
splitPk Non Vide Colonne utilisée pour diviser les données afin de permettre des lectures parallèles. Définissez ce paramètre sur la clé primaire pour une distribution uniforme et pour éviter les points chauds de données. Seules les colonnes entières sont prises en charge ; les types virgule flottante, chaîne, date et autres provoquent une erreur. Si ce paramètre n'est pas défini, la table est lue avec un seul canal.
where Non Condition de filtre SQL ajoutée à la requête, par exemple gmt_create>$bizdate pour la synchronisation incrémentielle, ou limit 10 pour les tests. Si ce paramètre n'est pas défini, toutes les lignes sont lues.
querySql Non Requête SQL personnalisée, par exemple select a,b from table_a join table_b on table_a.id = table_b.id. Lorsqu'il est défini, les paramètres column, table et where sont ignorés.
fetchSize Non 1 024 Nombre de lignes récupérées par lot. Des valeurs plus élevées réduisent les allers-retours réseau et améliorent le débit. Les valeurs supérieures à 2 048 peuvent provoquer une erreur de mémoire insuffisante (OOM).
preSql Non Instruction SQL exécutée avant le démarrage de la tâche de synchronisation. Une seule instruction est prise en charge.

Writer

Exemple de script

{
  "type": "job",
  "version": "2.0",
  "order": {
    "hops": [
      { "from": "Reader", "to": "Writer" }
    ]
  },
  "setting": {
    "errorLimit": { "record": "" },
    "speed": {
      "throttle": true,
      "concurrent": 2,
      "mbps": "12"
    }
  },
  "steps": [
    {
      "category": "reader",
      "name": "Reader",
      "stepType": "oracle",
      "parameter": {
        "datasource": "aaa",
        "column": ["PROD_ID", "name"],
        "where": "",
        "splitPk": "",
        "encoding": "UTF-8",
        "table": "PENGXI.SALES"
      }
    },
    {
      "category": "writer",
      "name": "Writer",
      "stepType": "dm",
      "parameter": {
        "datasource": "dm_datasource",
        "table": "table",
        "column": ["id", "name"],
        "preSql": ["delete from XXX;"]
      }
    }
  ]
}

Paramètres de Writer

Paramètre Obligatoire Valeur par défaut Description
datasource Oui Nom de la source de données DM. Consultez Configuration d'une source de données DM.
table Oui Table de destination. Si le schéma de la table diffère du nom d'utilisateur dans la configuration de la source de données, utilisez le format schema.table.
column Oui Colonnes de destination vers lesquelles écrire, séparées par des virgules. N'utilisez pas les paramètres de colonne par défaut.
preSql Non Instruction SQL exécutée avant le démarrage de la tâche de synchronisation, par exemple pour purger les anciennes données. Une seule instruction est prise en charge ; plusieurs instructions désactivent la prise en charge des transactions.
postSql Non Instruction SQL exécutée après la fin de la tâche de synchronisation, par exemple pour ajouter un horodatage. Une seule instruction est prise en charge ; plusieurs instructions désactivent la prise en charge des transactions.
batchSize Non 1 024 Nombre de lignes écrites par lot. Des valeurs plus élevées réduisent les interactions réseau et améliorent le débit. Des valeurs trop importantes peuvent provoquer une erreur OOM.

Étapes suivantes