O Alibaba Cloud Elasticsearch permite buscas de texto completo e análises semânticas em dados do PolarDB-X (anteriormente DRDS). O Data Integration do DataWorks sincroniza grandes volumes de dados do PolarDB-X para o Elasticsearch em poucos minutos.
Contexto
O DataWorks é uma plataforma completa de desenvolvimento e governança de big data, construída sobre mecanismos de big data. Ele integra recursos como desenvolvimento de dados, agendamento de tarefas e gerenciamento de dados. Use as tarefas de sincronização no DataWorks para transferir rapidamente dados de diversas fontes para o Alibaba Cloud Elasticsearch.
-
Fontes de dados compatíveis:
Bancos de dados da Alibaba Cloud (MySQL, PostgreSQL, SQL Server, MongoDB e HBase)
Alibaba Cloud PolarDB-X (atualizado a partir do DRDS)
Alibaba Cloud MaxCompute
Alibaba Cloud OSS
Alibaba Cloud Tablestore
Versões autogerenciadas de HDFS, Oracle, FTP, DB2 e outros tipos de banco de dados compatíveis
-
Cenários de uso:
Sincronização offline de big data para o Alibaba Cloud Elasticsearch. É possível sincronizar um banco de dados inteiro ou todos os dados de uma tabela específica. Para mais informações, consulte Offline synchronization of an entire MySQL database to Elasticsearch.
Sincronização em tempo real de big data para o Alibaba Cloud Elasticsearch. Este método oferece suporte à sincronização completa e incremental. Para mais informações, consulte Real-time synchronization of an entire MySQL database to Elasticsearch.
Pré-requisitos
Crie uma instância do PolarDB-X. Para mais informações, consulte .
Crie uma instância do Alibaba Cloud Elasticsearch e ative o recurso de indexação automática. Para mais informações, consulte Create an Alibaba Cloud Elasticsearch instance e Configure the YML file.
Crie um workspace do DataWorks. Para mais informações, consulte Create a workspace.
A sincronização de dados é compatível apenas com instâncias do Alibaba Cloud Elasticsearch. Clusters Elasticsearch autogerenciados não são suportados.
A instância do PolarDB-X, a instância do Elasticsearch e o workspace do DataWorks devem estar na mesma região.
A instância do PolarDB-X, a instância do Elasticsearch e o workspace do DataWorks devem estar no mesmo fuso horário. Caso contrário, os dados relacionados a horários podem apresentar discrepâncias de fuso após a sincronização.
Faturamento
Para detalhes sobre as taxas de uma instância do Alibaba Cloud Elasticsearch, consulte Elasticsearch billable items.
Para informações sobre os custos de um grupo de recursos do Data Integration, consulte Resource group fees.
Procedimento
Etapa 1: Preparar os dados de source
-
Insira dados na instância do PolarDB-X 1.0.
Para mais informações, consulte Basic SQL operations. Este tópico utiliza os dados de teste mostrados na figura a seguir.

Etapa 2: Criar um grupo de recursos exclusivo
Adquira um grupo de recursos exclusivo para o Data Integration e associe-o à sua VPC e ao seu workspace para garantir uma transferência de dados rápida e estável.
Faça login no console do DataWorks.
Na barra de menu superior, selecione uma região. No painel de navegação à esquerda, clique em Resource Groups.
Na aba Exclusive Resource Group, clique em .
-
Na página de compra DataWorks Exclusive Resources (Subscription), defina o Exclusive Resource Type como Exclusive Resource Group For Data Integration, insira um nome para o grupo de recursos e clique em Buy Now para adquirir o grupo de recursos exclusivo.
Para mais informações sobre configurações, consulte Step 1: Purchase a resource group.
-
Na coluna Actions do grupo de recursos exclusivo criado, clique em Network Settings para associar o grupo de recursos exclusivo a uma VPC. Para mais informações, consulte Associate a VPC.
NotaEste tópico descreve como sincronizar dados pela rede interna da VPC usando um grupo de recursos exclusivo para Data Integration. Para informações sobre sincronização de dados pela internet, consulte Add a whitelist.
Para sincronizar dados, o grupo de recursos exclusivo precisa se conectar às VPCs das instâncias do PolarDB-X e do Elasticsearch. Associe o grupo de recursos exclusivo à Virtual Private Cloud (VPC), Zone e VSwitch das instâncias do PolarDB-X e do Elasticsearch. Para visualizar as informações de VPC de uma instância, consulte View the basic information of an Elasticsearch instance.
ImportanteApós associar o grupo de recursos exclusivo a uma VPC, adicione o bloco CIDR do vSwitch CIDR Block às listas de permissões de acesso privado das instâncias do PolarDB-X e do Elasticsearch. Para mais informações, consulte Configure a public or private access whitelist for an Elasticsearch instance.
No canto superior esquerdo da página, clique no ícone de voltar para retornar à página Resource List.
-
Na coluna Actions do grupo de recursos exclusivo criado, clique em Associate Workspace para associar o grupo de recursos exclusivo ao workspace de destino.
Para mais informações, consulte Step 2: Associate the resource group with a workspace.
Etapa 3: Adicionar fontes de dados
Adicione o PolarDB-X e o Elasticsearch como fontes de dados no Data Integration do DataWorks.
-
Acesse a página Data Integration.
Faça login no console do DataWorks .
No painel de navegação à esquerda, clique em Workspace.
Localize o workspace desejado e escolha na coluna Actions.
No painel de navegação à esquerda, clique em Data Source.
Adicione uma fonte de dados do PolarDB-X.
Na página Data Sources, clique em Add Data Source.
Na página Add Data Source, pesquise e selecione DRDS.
-
Na página Add DRDS Data Source, configure as informações da fonte de dados e teste a conectividade. Após o sucesso no teste de conectividade, clique em Complete.
Para mais informações, consulte Add a DRDS data source.
Siga o mesmo procedimento para adicionar uma fonte de dados do Elasticsearch. Para mais informações, consulte Configure an Elasticsearch data source.
Etapa 4: Configurar e executar uma tarefa de sincronização
Uma tarefa de sincronização em lote é executada em um grupo de recursos exclusivo para ler dados da source no Data Integration e gravá-los no Elasticsearch.
É possível configurar uma tarefa de sincronização em lote no modo assistente ou pelo editor de código. Este tópico descreve a configuração no modo assistente. Para configurar via editor de código, consulte Configure a batch synchronization task by using the code editor e Elasticsearch Writer.
Este tópico utiliza o legacy Data Development (DataStudio) para criar uma tarefa de sincronização em lote.
-
Acesse a página Data development no DataWorks.
Faça login no console do DataWorks.
No painel de navegação à esquerda, clique em Workspace.
Na coluna Actions do workspace de destino, escolha .
-
Crie uma tarefa de sincronização em lote.
Na página Data Development, clique no ícone (
), escolha e crie um Business Flow seguindo as instruções.Clique com o botão direito no Business Flow criado e escolha .
Na caixa de diálogo Create Node, insira um nome para o nó e clique em OK.
-
Configure a rede e os recursos.
Na seção Source, defina Source como DRDS e defina Data Source Name como a fonte de dados de source.
Na seção Resource Group, selecione o grupo de recursos exclusivo.
Na seção Destination, defina Destination como Elasticsearch e defina Data Source Name como a fonte de dados de destino.
Clique em Next.
-
Configure a tarefa.
Na seção Source, selecione a tabela de source.
Na seção Destination, configure os parâmetros de destino.
-
Na seção Field Mapping, mapeie a Source Column para a Target Column. Para mais detalhes sobre a configuração, consulte Configure a task in wizard mode.
Neste exemplo, mantenha a Source Column inalterada e modifique apenas a Target Column. À direita de Target Column, clique no ícone
e insira as seguintes definições de campo na caixa de diálogo.{"name":"Name","type":"text"} {"name":"Platform","type":"text"} {"name":"Year_of_Release","type":"date"} {"name":"Genre","type":"text"} {"name":"Publisher","type":"text"} {"name":"na_Sales","type":"float"} {"name":"EU_Sales","type":"float"} {"name":"JP_Sales","type":"float"} {"name":"Other_Sales","type":"float"} {"name":"Global_Sales","type":"float"} {"name":"Critic_Score","type":"long"} {"name":"Critic_Count","type":"long"} {"name":"User_Score","type":"float"} {"name":"User_Count","type":"long"} {"name":"Developer","type":"text"} {"name":"Rating","type":"text"} Na seção Channel Control, configure os parâmetros do canal.
Para informações detalhadas sobre configuração, consulte Configure a task in wizard mode.
-
Execute a tarefa.
(Opcional) Configure as propriedades de agendamento da tarefa. No lado direito da página, clique em Properties e configure os parâmetros de agendamento conforme necessário. Para mais informações sobre cada parâmetro, consulte Scheduling configuration.
Na barra de ferramentas da área de edição do nó, clique no ícone de salvar para salve a tarefa.
-
Na barra de ferramentas da área de edição do nó, clique no ícone de envio para envie a tarefa.
Se você configurou propriedades de agendamento, a tarefa será executada periodicamente. Também é possível clique em no ícone de execução no canto superior direito da área do nó para execute a tarefa imediatamente.
A mensagem
Shell run successfully!no log de execução indica que a tarefa foi concluída com êxito.
Etapa 5: Verificar os resultados da sincronização
-
Faça login no console do Kibana da instância de destino do Alibaba Cloud Elasticsearch.
Para mais informações, consulte Log on to the Kibana console.
No painel de navegação à esquerda, clique em Dev Tools.
-
No Console, execute o comando a seguir para consultar a contagem de dados no destino.
NotaCompare a contagem de dados na source e no destino para verifique se todos os dados foram sincronizados.
GET drdstest/_search { "query": { "match_all": {} } }Se o comando for executado com êxito, o seguinte resultado será retornado.

-
Execute o comando a seguir para buscar dados por um campo específico.
GET drdstest/_search { "query": { "term": { "Publisher.keyword": { "value": "Nintendo" } } } }Se o comando for executado com êxito, o seguinte resultado será retornado.
