Use uma tarefa de sincronização ETL em tempo real para transferir dados de fontes como DataHub e Hologres para o Kafka. A tarefa inicializa o tópico do Kafka com base no schema da tabela de origem e mantém a sincronização contínua dos dados para consumo downstream.
Limites
A versão da fonte de dados Kafka deve estar entre 0.10.2 e 3.6.0.
A fonte de dados Hologres deve ser V2.1 ou superior.
Não há suporte para sincronização incremental de dados de tabelas particionadas do Hologres.
Mensagens referentes a alterações DDL em tabelas do Hologres não podem ser sincronizadas.
É possível sincronizar dados incrementais do Hologres nos seguintes tipos de dados: INTEGER, BIGINT, TEXT, CHAR(n), VARCHAR(n), REAL, JSON, SERIAL, OID, INT4[], INT8[], FLOAT8[], BOOLEAN[], TEXT[] e JSONB.
Ative o binary logging na tabela do Hologres no banco de dados de origem. Para mais informações, consulte Subscribe to Hologres binlogs.
Pré-requisitos
Adquira um Serverless resource group.
Crie as fontes de dados Hologres e Kafka. Para mais informações, consulte Create a data source for Data Integration.
Estabeleça a conectividade de rede entre o grupo de recursos e as fontes de dados. Para mais informações, consulte Network connectivity solutions.
Procedimento
1. Selecione um tipo de tarefa de sincronização
-
Faça login no console do DataWorks. Na região desejada, clique em no painel de navegação à esquerda. Escolha um workspace na lista suspensa e clique em Go to Data Integration.
-
No painel de navegação à esquerda, clique em Sync Tasks. No topo da página, clique em Create synchronization task e configure os parâmetros abaixo.
Data Source And Destination:
Hologres→KafkaNew Task Name: Defina um nome personalizado para a tarefa de sincronização.
Synchronization Mode:
single-table real-time.Synchronization Mode Step: Selecione
full synchronization.
2. Configure a rede e os recursos
Na seção Configure Network Connections and Resource Groups, selecione o Resource Group para a tarefa de sincronização. Opcionalmente, defina o Task Resource Usage em CUs.
Em Source Data Source, escolha uma fonte de dados
Hologres. Em Destination data source, selecione uma fonte de dadosKafka. Em seguida, clique em Test Connection.Após a aprovação dos testes de conectividade das fontes de dados de origem e destino, clique em Next step.
3. Configure o link de sincronização
a. Configure a origem Hologres
No topo da página, clique na fonte de dados Hologres e edite as Holo source information.

Na seção Holo source information, selecione o schema e a tabela de origem.
-
No canto superior direito, clique em Data Sampling.
Na caixa de diálogo Preview Data Output, especifique os Sampled Data Records e clique em Start Collection. Essa ação amostra e pré-visualiza os dados da tabela do Hologres.
b. Configure o destino Kafka
No topo da página, clique no destino Kafka e edite as Kafka Destination Information.

Na seção Kafka Destination Information, selecione o tópico do Kafka onde deseja gravar os dados.
Defina a opção Merge Source Binlog Update Messages conforme necessário. Ao ativar essa opção, as duas mensagens de atualização correspondentes a uma operação de update nos binary logs de origem são mescladas em uma única mensagem antes da gravação no Kafka.
-
Configure o Output Format, a Key Column e os Kafka Producer Parameters.
Output Format: Define o formato de valor dos registros gravados no Kafka. Os formatos válidos são Canal CDC e JSON. Para mais informações, consulte Appendix: Output formats.
-
Key Column: Especifica as colunas de origem cujos valores são serializados em strings e concatenados com vírgulas para formar a chave dos registros gravados no tópico do Kafka.
NotaAs regras de serialização dos valores das colunas seguem o mesmo padrão das regras de serialização JSON para tipos de dados de coluna no Hologres.
Os valores de chave no tópico do Kafka determinam as partições de destino da gravação. Dados com o mesmo valor de chave vão para a mesma partição. Para garantir que um consumidor processe os dados do tópico Kafka em ordem, recomenda-se usar as colunas de chave primária da tabela do Hologres como colunas de chave.
Caso nenhuma coluna de origem seja definida como coluna de chave, os valores de chave no tópico do Kafka serão nulos. Nesse cenário, os dados são gravados em partições aleatórias do tópico.
Kafka Producer Parameters: Esses parâmetros controlam a consistência, a estabilidade e o tratamento de exceções nas operações de escrita. A configuração padrão atende à maioria dos casos de uso. Para detalhes sobre os parâmetros de producer suportados por diferentes versões do Kafka, consulte a documentação oficial do Kafka.
4. Alertas
Para evitar que erros na tarefa causem atrasos na sincronização de dados de negócios, defina uma política de alertas para a tarefa de sincronização.
Clique em Alert Settings no canto superior direito da página para abrir 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 configurar a tarefa, visualize e modifique as regras de alerta dessas subtarefas na página Run and manage real-time synchronization tasks.
-
Gerencie as regras de alerta.
Nas regras existentes, use o botão alternador para ativá-las ou desativá-las. Também é possível direcionar alertas para diferentes destinatários com base no nível de severidade.
5. Configurações avançadas
A tarefa de sincronização oferece diversos parâmetros ajustáveis conforme a necessidade.
Antes de fazer alterações, certifique-se de compreender totalmente a função de cada parâmetro para evitar erros inesperados ou problemas de qualidade de dados.
Clique em advanced settings no canto superior direito da página para abrir a página de configurações avançadas.
Na página advanced settings, modifique os valores dos parâmetros conforme necessário.
6. Grupo de recursos
Clique em Configure Resource Group no canto superior direito para visualizar e alterar o grupo de recursos atual da tarefa.
7. Execute a tarefa de sincronização
Após concluir todas as configurações, clique em Complete na parte inferior da página.
Na página , localize a tarefa criada e clique em Start na coluna Operations.
Clique no Name/ID da tarefa correspondente na Task List para acompanhar o processo detalhado de execução.
Execute operações de O&M na tarefa de sincronização
Visualize o status da tarefa de sincronização
Após criar a tarefa de sincronização, acesse a página Tasks para visualizar todas as tarefas de sincronização do workspace e suas informações básicas.
A lista de tarefas exibe as seguintes colunas: Name/ID, Data Source Synchronization Solution (tipo de sincronização, origem e destino), Status, Execution Overview, resource group e Actions.
Na coluna Actions, utilize as opções Start ou Stop para iniciar ou parar uma tarefa de sincronização. No menu More, execute outras operações, como Edit e View.
Para tarefas iniciadas, acompanhe o status básico de execução no Execution Overview e clique na área de resumo correspondente para ver os detalhes da execução.
Uma tarefa de sincronização em tempo real de uma tabela do Hologres para o Kafka consiste nas três etapas a seguir:
Structure Migration: Inclui o método de criação da tabela de destino (tabela existente ou criação automática). Se optar pela criação automática, a instrução de linguagem de definição de dados (DDL) para criar a tabela será exibida.
Full initialization: Caso tenha selecionado Full Sync na etapa de sincronização da tarefa, o progresso da inicialização completa aparece aqui.
Real-time Data Synchronization: Contém estatísticas sobre a sincronização em tempo real, incluindo tráfego de leitura/gravação em tempo real, dados sujos, failovers e logs de operação.
Reexecute uma tarefa
Em situações especiais, como quando é preciso modificar campos sincronizados ou ajustar informações da tabela de destino, clique em Rerun na coluna Operations da tarefa de sincronização. Essa ação sincroniza os campos ajustados e outras alterações no destino, ignorando tabelas previamente sincronizadas que não sofreram mudanças.
Para executar a tarefa novamente sem alterações, clique em Rerun.
Se editar a tarefa, clique em Complete após realizar as modificações. A ação da tarefa mudará para Apply Updates. Ao clicar em Apply Updates, a tarefa é reexecutada com a nova configuração.
Apêndice: Descrição dos formatos de saída
Canal CDC
O Canal CDC é um formato de dados CDC definido pelo Alibaba Canal.
Json
O formato JSON utiliza os nomes dos campos dos binary logs do Hologres como chaves e serializa os valores dos campos em strings. Os pares chave-valor resultantes são gravados no tópico do Kafka como strings formatadas em JSON.