O Data Integration permite sincronizar um banco de dados inteiro de fontes como MySQL e PolarDB para o OSS em tempo real. Este tópico demonstra como usar o Data Integration para ingerir dados do MySQL em um data lake no OSS em tempo real.
Pré-requisitos
Adquira um grupo de recursos serverless ou um grupo de recursos exclusivo para Data Integration.
-
Crie uma fonte de dados MySQL e uma fonte de dados OSS. Para mais informações, consulte Configurar uma fonte de dados.
NotaA fonte MySQL deve ter o Binlog habilitado. Para mais informações, consulte Preparar um ambiente MySQL.
Estabeleça conectividade de rede entre o grupo de recursos e as fontes de dados. Para mais informações, consulte Visão geral das soluções de conectividade de rede.
Limitações
A coluna de chave primária na origem não pode conter valores nulos ou strings vazias. Caso contrário, a tarefa de sincronização falhará.
Ingestão de banco de dados em tempo real
Migre o esquema de um banco de dados MySQL de origem para um data lake no OSS. Esse processo envolve uma sincronização completa única dos dados históricos de todo o banco de dados ou de tabelas específicas, seguida pela sincronização em tempo real dos dados incrementais.
-
O processo suporta operações DDL na origem, como criar tabelas e adicionar colunas. A sincronização se adapta automaticamente às alterações na quantidade de tabelas e colunas no banco de dados de origem.
ImportanteOutras operações DDL na origem, como excluir ou renomear tabelas, não são suportadas e causam falha na tarefa de sincronização.
-
Se o Data Lake Formation (DLF) estiver ativado na mesma região, a tarefa poderá criar automaticamente o metadatabase e as metatabelas correspondentes no DLF durante a ingestão de dados.
NotaNão há suporte para criação de metadados entre regiões.
Procedimento
Etapa 1: Selecione o tipo de tarefa de sincronização
-
Faça login no console do DataWorks. Na região de destino, clique em no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Go to Data Integration.
-
No painel de navegação à esquerda, clique em Synchronization Task. No topo da página, clique em Create Synchronization Task para acessar a página de criação de tarefas. Configure as seguintes informações básicas:
Source and Destination:
MySQL→OSSNew Node Name: Insira um nome personalizado para a tarefa de sincronização.
Synchronization Method:
real-time database synchronization.Synchronization Mode: Selecione tanto Full Sync quanto Incremental Sync.
Etapa 2: Configure rede e recursos
Na seção Network and Resource Configuration, selecione o Resource Group para a tarefa de sincronização. Especifique também o número de CUs para Task Resource Usage.
Em Source Information, selecione sua fonte de dados
MySQLexistente. Para Destination, selecione sua fonte de dadosOSSexistente. Em seguida, clique em Test Connectivity.Após as fontes de dados de origem e destino passarem no teste de conectividade, clique em Next.
Etapa 3: Configure definições de destino
Write Format: Selecione um dos formatos suportados: Hudi, Paimon ou Iceberg.
Select Storage Path: Selecione o caminho do OSS onde os dados ingeridos serão armazenados.
-
Location for Creating Metadatabase: Escolha se deseja criar automaticamente um metadatabase no DLF.
NotaMetadatabases só podem ser criados em uma instância do DLF localizada na mesma região.
Etapa 4: Selecione bancos de dados e tabelas
Selecione as tabelas que deseja sincronizar da fonte de dados na área source tables. Em seguida, clique no ícone
para movê-las para a área selected tables à direita.
-
Select Specific Databases/Tables:
Nos campos Database Filter e Table Filter da área Source Tables, insira palavras-chave para localizar os bancos de dados e tabelas a serem sincronizados. Selecione-os e clique no ícone
para movê-los para a área Selected Databases/Tables.Na área Selected Databases/Tables, use os campos Database Filter e Table Filter para encontrar tabelas que deseja excluir. Selecione-as e clique no ícone
para movê-las de volta para a área Source Databases/Tables.
-
Use regex for table selection (supports adding/removing tables by regex during runtime).:
Use expressões regulares nos campos Database Filter e Table Filter para selecionar tabelas. Depois, clique em Confirm Selection.
NotaPor exemplo, para selecionar tabelas de bancos de dados com nomes começando com
ae nomes de tabelas começando comorder, insiraa.*no campo Database Filter eorder.*no campo Table Filter.
Etapa 5: Configure mapeamento de tabelas de destino
Após selecionar as tabelas para sincronização, elas aparecem automaticamente nesta página. No entanto, as tabelas de destino ainda não estão mapeadas. Defina os mapeamentos entre as tabelas de origem e de destino, que especificam como os dados são lidos e gravados. Após definir os mapeamentos, clique em Refresh Mapping para prosseguir para a próxima etapa. Atualize os mapeamentos agora ou após personalizar as regras para as tabelas de destino.
Selecione as tabelas a serem sincronizadas e clique em Batch Refresh Mapping. Se nenhuma regra de mapeamento estiver configurada, a regra padrão de nome de tabela será
${tableName}. Caso não exista uma tabela correspondente no destino, ela será criada automaticamente.-
Na coluna Modify Mapping Rule for Destination Database Name, clique em Configure para definir uma regra de nomenclatura.
Combine e edite variáveis integradas com strings personalizadas para gerar o nome do banco de dados de destino. Por exemplo, crie uma regra que adicione um sufixo ao nome do banco de dados de origem para formar o nome do banco de dados de destino.
-
Na coluna Customize Mapping Rules for Destination Table Names, clique em Edit para personalizar as regras de nomenclatura das tabelas de destino.
Concatene variáveis integradas e strings inseridas manualmente para criar o nome final da tabela de destino. Edite também as variáveis integradas. Por exemplo, crie uma nova regra que gere o nome da tabela de destino adicionando um sufixo ao nome da tabela de origem.
1. Edite mapeamentos de tipos de colunas
Uma tarefa de sincronização fornece mapeamentos padrão entre os tipos de colunas de origem e de destino. Para personalizar esses mapeamentos, clique em Edit Field Type Mapping no canto superior direito da tabela. Ao terminar, clique em Apply and Refresh Mapping.
2. Edite estrutura da tabela de destino e atribua valores às colunas
Quando a tabela de destino estiver no estado To Be Created, adicione novas colunas à sua estrutura de tabela original. Siga estas etapas:
-
Adicione colunas à tabela de destino.
Para adicionar uma coluna a uma única tabela, clique no ícone
na coluna Destination Table Name.Para adicionar colunas a várias tabelas em lote, selecione todas as tabelas a serem sincronizadas e escolha na parte inferior da tabela.
-
Atribua valores às colunas recém-adicionadas. Use os seguintes métodos para atribuição de valores.
Para atribuir valores a uma única tabela, clique em Configure na coluna Value assignment.
Para atribuir valores a várias tabelas em lote, escolha na parte inferior da lista para atribuir os mesmos valores a colunas idênticas nas tabelas de destino.
NotaÉ possível atribuir constantes ou variáveis como valores. Clique no ícone
para alternar entre os modos de atribuição.
3. Configure regras DML
O Data Integration fornece regras padrão de processamento DML. Defina também regras personalizadas de processamento para comandos DML gravados nas tabelas de destino, conforme seus requisitos de negócios.
Para definir regras para uma única tabela, clique em Configure na coluna DML Rule Configuration.
Para definir regras para várias tabelas em lote, selecione todas as tabelas a serem sincronizadas e escolha na parte inferior da lista.
Etapa 6: Configure alertas
Para evitar atrasos na sincronização de dados causados por erros na tarefa, configure políticas de alerta para as tarefas de sincronização.
Clique em Alert Settings no canto superior direito da página para acessar a página de configurações de Alert Rule Configurations for Real-time Synchronization Subnode.
-
Clique em Add Alert Rule para configurar uma regra de alerta.
NotaAs regras de alerta definidas aqui se aplicam às subtarefas de sincronização em tempo real geradas por esta tarefa. Após concluir a configuração da tarefa, acesse a página Executar e gerenciar tarefas de sincronização em tempo real para visualizar e modificar as regras de alerta de monitoramento da subtarefa de sincronização em tempo real.
-
Gerencie as regras de alerta.
Para regras de alerta existentes, use o alternador de alerta para ativar ou desativar uma regra. Envie também alertas para diferentes contatos com base no nível de severidade do alerta.
Etapa 7: Configure parâmetros avançados
A tarefa de sincronização oferece parâmetros configuráveis que podem ser modificados conforme necessário. Por exemplo, defina um número máximo de conexões para evitar que a tarefa de sincronização sobrecarregue o banco de dados e afete as cargas de trabalho de produção.
Modifique os parâmetros somente após compreender totalmente seus significados para evitar erros inesperados ou problemas de qualidade de dados.
Clique em Advanced Parameter Configuration no canto superior direito da página para acessar a página de configuração de parâmetros avançados.
Na página Advanced Parameter Configuration, modifique os valores dos parâmetros relevantes.
Etapa 8: Configure capacidades DDL
A fonte de dados de origem pode conter diversas operações DDL. Com base nos seus requisitos de negócios, clique em DDL Capability Configuration no canto superior direito da página para acessar a página de configuração de capacidades DDL e definir políticas de processamento para diferentes mensagens DDL a serem sincronizadas com o destino.
Para mais informações sobre diferentes políticas de processamento de mensagens DDL, consulte Regras de processamento de mensagens DDL.
Etapa 9: Configure grupo de recursos
Clique em Configure Resource Group no canto superior direito da página para visualizar e alternar o grupo de recursos usado pela tarefa atual.
Etapa 10: Execute a tarefa de sincronização
Etapa 9: Execute a tarefa de sincronização
Após concluir todas as configurações, clique em Save para salvar a tarefa.
-
Na página , localize a tarefa de sincronização criada e clique em Deploy na coluna Operation. Se você selecionar Start immediately after deployment durante a implantação, a tarefa será executada imediatamente após a confirmação. Caso contrário, inicie a tarefa manualmente.
NotaAs tarefas do Data Integration devem ser implantadas no ambiente de produção antes de serem executadas. Portanto, realize a operação Publish após criar ou editar uma tarefa para que as alterações entrem em vigor.
Clique no Name/ID da tarefa correspondente em Tasks para visualizar o processo detalhado de execução da tarefa.
Monitorar e gerenciar a tarefa de sincronização
Visualize status da tarefa
Após criar uma tarefa de sincronização, visualize uma lista de todas as suas tarefas e suas informações básicas na página Sync Task.
A coluna Start oferece opções para Start ou Stop da tarefa. O menu Edit fornece outras ações, como Edit e View.
-
Para uma tarefa em execução, visualize seu status na seção Execution Overview e clique em uma área de visão geral para ver detalhes da execução. A seção Basic information mostra o ID da tarefa, fonte de dados, solução de sincronização, grupo de recursos, status e uso atual de CU. Abas como Execution status, Run logs, Failover e Resource utilization fornecem informações operacionais detalhadas sobre a tarefa de sincronização.
Uma tarefa de sincronização em tempo real do MySQL para o OSS consiste em três fases:
Migração de estrutura: Exibe como as tabelas de destino são criadas, seja a partir de tabelas existentes ou por criação automática. Se as tabelas forem criadas automaticamente, as instruções DDL serão exibidas.
Inicialização completa: Exibe informações sobre a sincronização offline, incluindo as tabelas, o progresso e o número de linhas gravadas.
Sincronização de dados em tempo real: Exibe estatísticas de sincronização em tempo real, incluindo progresso, registros DDL, registros DML e informações de alerta.
Reexecutar uma tarefa
Em certos cenários, como quando é necessário adicionar ou remover tabelas, ou modificar o esquema da tabela de destino ou informações de nome da tabela, clique em Rerun na coluna Operations da tarefa de sincronização. O sistema sincroniza apenas as tabelas recém-adicionadas ou modificadas. Tabelas previamente sincronizadas ou não modificadas não são sincronizadas novamente.
Clique em Rerun para reexecutar a inicialização completa e a sincronização em tempo real.
Edite a tarefa para adicionar ou remover tabelas, salve a tarefa e faça a implantação. Após a implantação, o botão Apply Updates aparece na coluna Operations. Clique em Apply Updates para acionar uma reexecução da tarefa modificada. Apenas as tabelas recém-adicionadas ou modificadas são sincronizadas. Tabelas previamente sincronizadas não são sincronizadas novamente.