Todos os produtos
Search
Central de documentação

MaxCompute:Migrar dados JSON do OSS para o MaxCompute

Última atualização: Sep 22, 2026

O Data Integration do DataWorks permite migrar dados JSON do OSS para o MaxCompute. Após a migração, use a função de string integrada GET_JSON_OBJECT para extrair informações dos dados JSON.

Pré-requisitos

  • MaxCompute is activated.

  • Crie um fluxo de trabalho no DataWorks. Este exemplo usa um workspace no modo básico. Para mais informações, consulte Crie um fluxo de trabalho.

  • Carregue um arquivo JSON com a extensão .txt no OSS. Neste exemplo, o bucket do OSS está na região China (Shanghai). Arquivo de exemplo:

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

Migrar dados JSON

  1. Adicione uma fonte de dados do OSS. Para mais informações, consulte Configure an OSS data source.

  2. Crie uma tabela no DataWorks para armazenar os dados JSON migrados.

    1. Acesse o DataWorks console. Na região de destino, clique em Data Development and O&M > Data Development no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Go to Data Development.

    2. Clique em Data Source para acessar a página Data Source e clique em New data source para adicionar um projeto do MaxCompute.

    3. Clique em Add Data Source and Bind to Data Development para concluir a vinculação.

    4. Na página Data Development, passe o ponteiro sobre o ícone image..png e escolha Create Table > Table.

    5. Na caixa de diálogo Create Table, selecione um Path, insira um Name e clique em Create .

      Nota

      Se houver várias instâncias vinculadas, selecione uma instância do mecanismo MaxCompute.

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

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

      create table mqdata (mq_data string);
    8. Na caixa de diálogo Confirm operation, clique em Confirm.

    9. Após gerar o esquema da tabela, acesse a seção General, insira um Display Name para a tabela e clique em Commit to Development Environment e Commit to Production Environment.

      Nota

      Se estiver usando um workspace no modo básico, clique apenas em Commit to Production Environment.

  3. Crie um nó de sincronização em lote.

    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 em ícone **.

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

    6. Modifique a configuração JSON e clique em botão 运行.

      Exemplo de configuração:

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

Verifique os resultados

Crie um nó ODPS SQL.

  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 function, insira o function name e clique em submit.

  3. Na aba de configuração do nó ODPS SQL, insira as seguintes instruções.

    -- 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. Clique em ícone ** e execute o código.

  5. Visualize os resultados no operation Log.