Todos os produtos
Search
Central de documentação

DataWorks:Migrar JSON do MongoDB para o MaxCompute

Última atualização: Aug 21, 2026

Este tópico descreve como utilizar o recurso Data Integration do DataWorks para migrar campos JSON do MongoDB para o MaxCompute.

Pré-requisitos

Preparar dados de teste no MongoDB

  1. Prepare uma conta de usuário.

    Crie um usuário no banco de dados. Utilize esse usuário para adicionar uma source de dados no DataWorks. Neste exemplo, execute o seguinte comando:

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

    Esse comando cria um usuário chamado bookuser com a senha 123456. A função pode ser qualquer uma que tenha permissões para acessar os dados.

  2. Prepare os dados.

    Faça o upload dos dados para o banco de dados MongoDB. Este exemplo utiliza ApsaraDB for MongoDB. O tipo de rede é VPC. É necessário um endpoint público para que a VPC se comunique com o grupo de recursos públicos do DataWorks. O código a seguir fornece os dados de teste:

    {
        "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. Este exemplo utiliza o banco de dados admin e a coleção userlog no console DMS para MongoDB. Para visualizar os dados enviados, execute o seguinte comando:

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

Usar o DataWorks para migrar dados

  1. Faça login no DataWorks console.

  2. Crie uma tabela de destino no DataWorks para os dados migrados do MongoDB.

    1. Clique com o botão direito em um Workflow criado e selecione Create Table > Table.

    2. Na página Create Table, selecione o tipo de mecanismo e insira o Name.

    3. Na página de edição da tabela, clique em DDL Statement.

    4. Na caixa de diálogo DDL Statement, insira a instrução DDL e clique em Generate Table Schema.

      Importante

      O nome da tabela na instrução DDL deve corresponder ao Table Name inserido na página Create Table.

      create table mqdata (mqdata string);
    5. Clique em Commit to Production Environment.

  3. Adicione uma source de dados do MongoDB. Para mais informações, consulte Configure a MongoDB data source.

  4. Crie um nó de sincronização offline.

    1. Acesse a página de análise de dados. Clique com o botão direito no fluxo de trabalho especificado e escolha Create Node > Data Integration > Offline synchronization.

    2. Na caixa de diálogo Create Node, insira o Name e clique em Confirm.

    3. Na barra de navegação superior, escolha o ícone Conversion script.

    4. No modo de script, clique no ícone **.

    5. Na caixa de diálogo import Template, defina o SOURCE type, a data source, o target type e a data source, e clique em confirm.

    6. Insira o seguinte script:

      {
          "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. Clique no ícone ** para executar o código.

    8. Visualize os resultados no operation Log.

Verificar o resultado

  1. Clique com o botão direito no fluxo de trabalho e escolha new > MaxCompute > ODPS SQL.

  2. Na caixa de diálogo create a node, insira o node name e clique em submit.

  3. Na página de edição do nó ODPS SQL, insira a seguinte instrução:

    SELECT * from mqdata;
  4. Clique no ícone ** para executar o código.

  5. Visualize os resultados no Runtime Log.