Tous les produits
Search
Centre de documentation

MaxCompute:Migrer des données JSON d'OSS vers MaxCompute

Dernière mise à jour :Aug 09, 2026

Data Integration de DataWorks vous permet de migrer des données JSON d'OSS vers MaxCompute. Une fois la migration terminée, utilisez la fonction de chaîne intégrée GET_JSON_OBJECT pour extraire les informations des données JSON.

Prérequis

  • MaxCompute est activé.

  • Un workflow a été créé dans DataWorks. Cet exemple utilise un espace de travail en mode basique. Pour plus d'informations, consultez la rubrique Créer un workflow.

  • Un fichier JSON avec l'extension .txt a été chargé sur OSS. Dans cet exemple, le bucket OSS se trouve dans la région Chine (Shanghai). Exemple de fichier :

    {
        "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
    }

Migrer les données JSON

  1. Ajoutez une source de données OSS. Pour plus d'informations, consultez la rubrique Configurer une source de données OSS.

  2. Créez une table dans DataWorks pour stocker les données JSON migrées.

    1. Connectez-vous à la console DataWorks. Dans la région cible, cliquez sur Data Development and O&M > Data Development dans le volet de navigation de gauche. Sélectionnez un espace de travail dans la liste déroulante et cliquez sur Go to Data Development.

    2. Cliquez sur Data Source pour accéder à la page Data Source, puis cliquez sur New data source pour ajouter un projet MaxCompute.

    3. Cliquez sur Add Data Source and Bind to Data Development pour terminer la liaison.

    4. Sur la page Data Development, placez le pointeur sur l'icône image..png et choisissez Create Table > Table.

    5. Dans la boîte de dialogue Create Table, sélectionnez un Path, saisissez un Name, puis cliquez sur Create .

      Remarque

      Si plusieurs instances sont liées, vous devez sélectionner une instance de moteur MaxCompute.

    6. Sur la page de modification de la table, cliquez sur DDL Statement.

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

      create table mqdata (mq_data string);
    8. Dans la boîte de dialogue Confirm operation, cliquez sur Confirm.

    9. Une fois le schéma de la table généré, accédez à la section General, saisissez un Display Name pour la table, puis cliquez sur Commit to Development Environment et Commit to Production Environment.

      Remarque

      Si vous utilisez un espace de travail en mode basique, il vous suffit de cliquer sur Commit to Production Environment.

  3. Créez un nœud de synchronisation par lots.

    1. Accédez à la page d'analyse des données. Cliquez avec le bouton droit sur le workflow spécifié et choisissez Create Node > Data Integration > Offline synchronization.

    2. Dans la boîte de dialogue Create Node, saisissez le Name, puis 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. Modifiez la configuration JSON, puis cliquez sur le bouton 运行.

      Exemple de configuration :

      {
          "type": "job",
          "steps": [
              {
                  "stepType": "oss",
                  "parameter": {
                      "fieldDelimiterOrigin": "^",
                      "nullFormat": "",
                      "compress": "",
                      "datasource": "OSS_userlog",
                      "column": [
                          {
                              "name": 0,
                              "type": "string",
                              "index": 0
                          }
                      ],
                      "skipHeader": "false",
                      "encoding": "UTF-8",
                      "fieldDelimiter": "^",
                      "fileFormat": "binary",
                      "object": [
                          "applog.txt"
                      ]
                  },
                  "name": "Reader",
                  "category": "reader"
              },
              {
                  "stepType": "odps",
                  "parameter": {
                      "partition": "",
                      "isCompress": false,
                      "truncate": true,
                      "datasource": "odps_first",
                      "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
              }
          }
      }

Vérifier les résultats

Créez un nœud ODPS SQL.

  1. Cliquez avec le bouton droit sur le workflow et choisissez new > MaxCompute > ODPS SQL.

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

  3. Sur l'onglet de configuration du nœud ODPS SQL, saisissez les instructions suivantes.

    -- Query data in the mqdata table.
    SELECT * from mqdata;
    -- Get the value of the 'expensive' field from the JSON data.
    SELECT GET_JSON_OBJECT(mqdata.mq_data,'$.expensive') FROM mqdata;
  4. Cliquez sur l'icône ** pour exécuter le code.

  5. Consultez les résultats dans operation Log.