Tous les produits
Search
Centre de documentation

DataWorks:Migrer des données JSON de MongoDB vers MaxCompute

Dernière mise à jour :Aug 21, 2026

Cette rubrique explique comment utiliser la fonctionnalité Data Integration de DataWorks pour migrer des champs JSON de MongoDB vers MaxCompute.

Prérequis

Préparer les données de test dans MongoDB

  1. Préparez un compte utilisateur.

    Créez un utilisateur dans la base de données. Vous pouvez utiliser cet utilisateur pour ajouter une source de données dans DataWorks. Dans cet exemple, exécutez la commande suivante.

    db.createUser({user:"bookuser",pwd:"123456",roles:["user1"]})

    Cette commande crée un utilisateur nommé bookuser avec le mot de passe 123456. Le rôle peut être n'importe quel rôle disposant des autorisations nécessaires pour accéder aux données.

  2. Préparez les données.

    Chargez les données dans la base de données MongoDB. Cet exemple utilise ApsaraDB for MongoDB. Le type de réseau est VPC. Un point de terminaison public est requis pour que le VPC communique avec le groupe de ressources public de DataWorks. Le code suivant fournit les données de test.

    {
        "store": {
            "book": [
                {
                    "category": "reference",
                    "author": "Nigel Rees",
                    "title": "Sayings of the Century",
                    "price": 8.95
                    },
                {
                    "category": "fiction",
                    "author": "Evelyn Waugh",
                    "title": "Sword of Honour",
                    "price": 12.99
                    },
                {
                    "category": "fiction",
                    "author": "J. R. R. Tolkien",
                    "title": "The Lord of the Rings",
                    "isbn": "0-395-19395-8",
                    "price": 22.99
                    }
                        ],
            "bicycle": {
                "color": "red",
                "price": 19.95
                    }
                        },
            "expensive": 10
                }
  3. Cet exemple utilise la base de données admin et la collection userlog dans la console DMS pour MongoDB. Pour afficher les données chargées, exécutez la commande suivante.

    db.userlog.find().limit(10)

Utiliser DataWorks pour migrer les données

  1. Connectez-vous à la console DataWorks.

  2. Créez une table de destination dans DataWorks pour les données MongoDB migrées.

    1. Faites un clic droit sur un Workflow créé, puis sélectionnez Create Table > Table

    2. Dans la page Create Table, sélectionnez le type de moteur et saisissez le Name.

    3. Sur la page d'édition de la table, cliquez sur DDL Statement.

    4. Dans la boîte de dialogue DDL Statement, saisissez l'instruction DDL et cliquez sur Generate Table Schema.

      Important

      Le nom de la table dans l'instruction DDL doit correspondre au Table Name que vous avez saisi sur la page Create Table.

      create table mqdata (mqdata string);
    5. Cliquez sur Commit to Production Environment.

  3. Ajoutez une source de données MongoDB. Pour plus d'informations, consultez la section Configurer une source de données MongoDB.

  4. Créez un nœud de synchronisation hors ligne.

    1. Accédez à la page d'analyse des données. Faites un clic droit sur le flux de travail spécifié et choisissez Create Node > Data Integration > Offline synchronization.

    2. Dans la boîte de dialogue Create Node, saisissez le Name et cliquez sur Confirm.

    3. Dans la barre de navigation supérieure, choisissez l'icône Conversion script.

    4. En mode script, cliquez sur l'icône **.

    5. Dans la boîte de dialogue import Template, configurez le SOURCE type, la data source, le target type et la data source, puis cliquez sur confirm.

    6. Saisissez le script suivant.

      {
          "type": "job",
          "steps": [
          {
              "stepType": "mongodb",
              "parameter": {
                  "datasource": "mongodb_userlog",
                  "column": [
                      {
                      "name": "store.bicycle.color", 
                      "type": "document.String" 
                      }
                    ],
                  "collectionName": "userlog"   
                  },
              "name": "Reader",
              "category": "reader"
              },
              {
                  "stepType": "odps",
                  "parameter": {
                  "partition": "",
                  "isCompress": false,
                  "truncate": true,
                  "datasource": "odps_source",
                  "column": [
                  "mqdata"  
                  ],
                  "emptyAsNull": false,
                  "table": "mqdata"
                  },
                  "name": "Writer",
                  "category": "writer"
                  }
                  ],
                  "version": "2.0",
                  "order": {
                  "hops": [
                  {
                  "from": "Reader",
                  "to": "Writer"
                  }
                  ]
                  },
                  "setting": {
                  "errorLimit": {
                  "record": ""
                  },
                  "speed": {
                  "concurrent": 2,
                  "throttle": false,
                  }
                  }
              }
    7. Cliquez sur l'icône ** pour exécuter le code.

    8. Consultez les résultats dans operation Log.

Vérifier le résultat

  1. Faites un clic droit sur le flux de travail et choisissez new > MaxCompute > ODPS SQL.

  2. Dans la boîte de dialogue create a node, saisissez le node name et cliquez sur submit.

  3. Sur la page d'édition du nœud ODPS SQL, saisissez l'instruction suivante.

    SELECT * from mqdata;
  4. Cliquez sur l'icône ** pour exécuter le code.

  5. Consultez les résultats dans Runtime Log.