Tous les produits
Search
Centre de documentation

DataWorks:DM (Dameng)

Dernière mise à jour :Sep 24, 2026

Data Integration de DataWorks prend en charge DM (Dameng) comme 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 y charger les données.

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 provoquent 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

Configurer une tâche de synchronisation

Synchronisation hors ligne d'une table unique

Configurez une tâche à l'aide de l'interface utilisateur sans code ou de 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 de la base de données entière

Consultez Configuration de la synchronisation par lots de bases de données.

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 Configurer une source de données DM.

table

Oui

—

Table à partir de laquelle lire les 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 une 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 Configurer 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 élevées peuvent provoquer une erreur OOM.

Étapes suivantes