Todos os produtos
Search
Central de documentação

Elasticsearch:Synchronize data from MaxCompute to Alibaba Cloud ES

Última atualização: Jun 27, 2026

O Data Integration do DataWorks permite sincronizar grandes volumes de dados do MaxCompute para um cluster do Alibaba Cloud Elasticsearch no modo offline (em lote). Após a configuração da tarefa de sincronização, a transferência de dados geralmente é concluída em alguns minutos. Assim, os dados sincronizados ficam imediatamente disponíveis para busca de texto completo, consultas multidimensionais e análises estatísticas.

Pré-requisitos

Antes de começar, verifique se você tem:

As seguintes restrições se aplicam:
A sincronização de dados oferece suporte apenas a instâncias do Alibaba Cloud Elasticsearch. Não há suporte para clusters auto-gerenciados do Elasticsearch.
O projeto do MaxCompute, a instância do Elasticsearch e o workspace do DataWorks devem estar na mesma região.
Todos os três recursos devem estar no mesmo fuso horário. Diferenças de fuso horário causam timestamps incorretos após a sincronização de dados temporais.

Faturamento

Fontes de dados compatíveis

O Data Integration do DataWorks permite sincronizar dados das seguintes fontes para o Alibaba Cloud Elasticsearch:

  • Bancos de dados da Alibaba Cloud: ApsaraDB RDS for MySQL, ApsaraDB RDS for PostgreSQL, ApsaraDB RDS for SQL Server, ApsaraDB for MongoDB e ApsaraDB for HBase

  • Alibaba Cloud PolarDB for Xscale (PolarDB-X) (anteriormente DRDS)

  • Alibaba Cloud MaxCompute

  • Alibaba Cloud Object Storage Service (OSS)

  • Alibaba Cloud Tablestore

  • Bancos de dados auto-gerenciados: HDFS, Oracle, FTP, Db2, MySQL, PostgreSQL, SQL Server, MongoDB e HBase

Modos de sincronização compatíveis:

O que será criado

Este tutorial cria os seguintes recursos:

  • Um grupo de recursos exclusivo para Data Integration, conectado à virtual private cloud (VPC) do seu cluster do Elasticsearch

  • Uma fonte de dados do MaxCompute e uma fonte de dados do Elasticsearch no Data Integration

  • Um nó de sincronização offline que lê do MaxCompute e grava no Elasticsearch

Etapa 1: Preparar os dados de source

Crie uma tabela no MaxCompute e importe dados. Para mais informações, consulte Criar tabelas e Importar dados para tabelas.

Este tutorial utiliza o seguinte esquema de tabela e dados:

  • Esquema da tabela 表结构

  • Dados de exemplo da tabela 表数据

Etapa 2: Adquirir e configure um grupo de recursos exclusivo

Um grupo de recursos exclusivo para Data Integration gerencia a transferência de dados entre a origem e o destino, garantindo throughput rápido e estável. Neste tutorial, o grupo de recursos se conecta ao seu cluster do Elasticsearch por meio de uma VPC.

  1. Faça login no DataWorks consoleDataWorks consoleDataWorks console.

  2. Na barra de navegação superior, selecione uma região. No painel de navegação à esquerda, clique em Resource Group.

  3. Na aba Exclusive Resource Groups, clique em Create Legacy Resource Group > Data Integration Resource Group.

  4. Na página de compra DataWorks Exclusive Resource (Subscription), defina Exclusive Resource Type como Exclusive Resource For Data Integration, insira um nome e clique em Buy Now. Para obter detalhes, consulte Etapa 1: Criar um grupo de recursos exclusivo para Data Integration.

  5. Localize o grupo de recursos criado. Na coluna Actions, clique em Network Settings para anexar uma VPC. Para obter detalhes sobre como anexar uma VPC, consulte Anexar uma VPC.

    Importante

    O grupo de recursos deve se conectar à VPC onde reside seu cluster do Elasticsearch. Associe o grupo de recursos à VPC, Zone e vSwitch do cluster do Elasticsearch. Para consultar esses valores, visualize Visualizar as informações básicas de um cluster. Após associar a VPC, adicione o vSwitch CIDR Block à lista de permissões de acesso interno da VPC da instância do Elasticsearch. Para mais informações, consulte Configurar uma lista de permissões de acesso público ou interno para uma instância do Elasticsearch.

    Este tutorial sincroniza dados por meio de uma VPC. Para sincronizar pela Internet, consulte Configurar uma lista de permissões de endereços IP .
  6. Clique no ícone de voltar no canto superior esquerdo para retornar à página Resource Group List.

  7. Na coluna Operation do grupo de recursos, clique em Attach Workspace para associá-lo ao seu workspace de destino. Para obter detalhes, consulte Etapa 2: Associar o grupo de recursos exclusivo para Data Integration a um workspace.

Etapa 3: Adicionar fontes de dados

Adicione o MaxCompute e o Elasticsearch como fontes de dados no Data Integration do DataWorks.

  1. Acesse a página Data Integration.

    1. Faça login no DataWorks consoleDataWorks consoleDataWorks console.

    2. No painel de navegação à esquerda, clique em Workspaces.

    3. Na coluna Operation do seu workspace, escolha Quick Access > Data Integration.

  2. No painel de navegação à esquerda, clique em Data Source.

  3. Adicione uma fonte de dados do MaxCompute.

    1. Na página Data Source List, clique em Add Data Source.

    2. Pesquise e selecione MaxCompute.

    3. Na caixa de diálogo Add MaxCompute Data Source, configure os parâmetros na seção Basic Information. Para obter detalhes, consulte Adicionar uma fonte de dados do MaxCompute.

    4. Na seção Connection Configuration, clique em Test Connectivity. Confirme se o status exibe Connected.

    5. Clique em Complete.

  4. Adicione uma fonte de dados do Elasticsearch da mesma maneira. Para obter detalhes, consulte Adicionar uma fonte de dados do Elasticsearch.

Etapa 4: Configure e execute uma tarefa de sincronização de dados

A tarefa de sincronização utiliza o grupo de recursos exclusivo para ler dados do MaxCompute e gravá-los no Elasticsearch.

É possível configure a tarefa usando a interface sem código ou o editor de código. Este tutorial usa a interface sem código com o Data Development (DataStudio) legado . Para instruções sobre o editor de código, consulte Configurar uma tarefa de sincronização em lote usando o editor de código e Elasticsearch Writer .
  1. Acesse a página Data Development.

    1. Faça login no DataWorks consoleDataWorks consoleDataWorks console.

    2. No painel de navegação à esquerda, clique em Workspaces.

    3. Na coluna Operation do seu workspace, escolha Quick Access > Data Development.

  2. Crie uma tarefa de sincronização em lote.

    1. No painel de navegação à esquerda, escolha Create > Create Workflow.

    2. Clique com o botão direito no novo workflow e escolha Create Node > Offline synchronization.

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

  3. Configure a rede e o grupo de recursos.

    1. Na seção Data Source, defina Source como MaxCompute (ODPS) e Data Source Name como sua fonte de dados do MaxCompute.

    2. Na seção My Resource Group, selecione o grupo de recursos exclusivo criado.

    3. Na seção Data Destination, defina Destination como Elasticsearch e Data Source Name como sua fonte de dados do Elasticsearch.

  4. Clique em Next.

  5. Configure as definições da tarefa. Para obter detalhes completos dos parâmetros, consulte Configurar uma tarefa de sincronização em lote usando a interface sem código.

    Definição

    Descrição

    Data Source (origem)

    Selecione a tabela de origem no MaxCompute

    Data Destination

    Configure o índice do Elasticsearch de destino e os parâmetros relacionados

    Field Mapping

    Mapeie cada Source Field para o Destination Field correspondente

    Channel Control

    Configure o paralelismo e os limites de largura de banda para a transferência de dados

  6. Salve e execute a tarefa. Quando a tarefa for bem-sucedida, o log conterá Shell run successfully!:

    1. (Opcional) Configure o agendamento. No painel de navegação à direita, clique em Properties e defina os parâmetros de agendamento. Para obter detalhes, consulte Configuração de agendamento.

    2. Clique no ícone Save no canto superior direito.

    3. Clique no ícone Submit. Se você configurou o agendamento, a tarefa será executada automaticamente conforme programado. Para executá-la imediatamente, clique no ícone Run.

    2023-10-31 16:52:35 INFO Exit code of the Shell command 0
    2023-10-31 16:52:35 INFO --- Invocation of Shell command completed ---
    2023-10-31 16:52:35 INFO Shell run successfully!
    2023-10-31 16:52:35 INFO Current task status: FINISH
    2023-10-31 16:52:35 INFO Cost time is: 33.106s

Etapa 5: Verifique o resultado da sincronização de dados

Use o console do Kibana para confirme se os dados foram gravados no Elasticsearch e execute consultas de exemplo.

  1. Faça login no console do Kibana da sua instância do Elasticsearch. Para obter detalhes, consulte Fazer login no console do Kibana.

  2. Clique no ícone 菜单.png no canto superior esquerdo e selecione Dev Tools.

  3. No Console, execute o seguinte comando para visualizar todos os documentos sincronizados.

    odps_index é o valor do campo index definido na tarefa de sincronização. Se os dados forem sincronizados com sucesso, a resposta conterá os documentos correspondentes. 查看同步的数据
    POST /odps_index/_search?pretty
    {
      "query": { "match_all": {} }
    }
  4. Execute o seguinte comando para recuperar apenas os campos category e brand.

    POST /odps_index/_search?pretty
    {
      "query": { "match_all": {} },
      "_source": ["category", "brand"]
    }
  5. Execute o seguinte comando para filtrar documentos em que category seja fresh produce.

    POST /odps_index/_search?pretty
    {
      "query": { "match": { "category": "fresh produce" } }
    }
  6. Execute o seguinte comando para ordenar os documentos por trans_num em ordem decrescente.

    POST /odps_index/_search?pretty
    {
      "query": { "match_all": {} },
      "sort": { "trans_num": { "order": "desc" } }
    }

Para obter mais exemplos e sintaxe de consulta do Elasticsearch, consulte o Elastic.co Help Center.

Perguntas frequentes

Problema: Um erro indica falha na conexão com a instância do Alibaba Cloud ES.

Solução:

  1. Verifique se você selecionou o grupo de recursos criado na página Data Integration Resource Group Configuration antes de execute o script de sincronização.

    • Se sim, vá para a próxima etapa.

    • Se não, selecione o grupo de recursos criado na página Data Integration Resource Group Configuration, salve e execute o script.

  2. Se o endpoint da instância do Alibaba Cloud ES usado no script não estiver na mesma VPC que o grupo de recursos, verifique se o endereço IP do grupo de recursos foi adicionado à lista de permissões da instância do ES.

    • Se sim, vá para a próxima etapa.

    • Se não, adicione o endereço IP do grupo de recursos à lista de permissões da instância do ES.

      Importante

      Se você usar um endpoint privado, configure a VPC Private Access Whitelist para a instância na página Security da instância do ES. Se usar um endpoint público, configure a Public Endpoint Whitelist para a instância.

  3. Verifique se o script de sincronização está configurado corretamente.

    A configuração inclui o endpoint (o endpoint privado ou público da instância do Alibaba Cloud ES), accessId (o nome de usuário para acessar a instância do ES, que é elastic por padrão) e accessKey (a senha para acessar a instância do ES).

Próximos passos