O Data Integration oferece uma interface visual sem código que orienta você na configuração de origem e destino para sincronizar periodicamente dados completos ou incrementais de uma única tabela ou de tabelas fragmentadas (sharded) para uma tabela de destino. A configuração específica varia conforme a fonte de dados. Para mais informações, consulte Fontes de dados e soluções de sincronização suportadas.
Pré-requisitos
-
Configure os bancos de dados de origem e de destino necessários no Data Source Management. Para mais informações, consulte Lista de fontes de dados.
NotaPara obter informações sobre as fontes de dados suportadas e suas configurações, consulte Fontes de dados e soluções de sincronização suportadas.
Para ter uma visão geral dos recursos das fontes de dados, consulte Data Source Management.
Adquira um grupo de recursos com especificações adequadas e associe-o ao workspace. Para mais informações, consulte Usar grupos de recursos serverless.
Estabeleça conectividade de rede entre o grupo de recursos e as fontes de dados. Para mais informações, consulte Configurar conectividade de rede.
Caso precise sincronizar uma tabela do MaxCompute não vinculada ao workspace atual (por exemplo, em uma sincronização entre projetos), adicione primeiro o projeto MaxCompute de destino como uma fonte de dados do DataWorks. Isso permite selecionar a tabela como origem ou destino na tarefa de sincronização. Para mais detalhes sobre a configuração de fontes de dados, consulte Data Source Management.
Etapa 1: Criar um nó do Data Integration
Data Studio (new version)
Faça login no console do DataWorks. No painel de navegação à esquerda, escolha . Selecione o workspace desejado na lista suspensa e clique em <p><a href={url} target="_blank">Learn more.</a></p>Data Studio.
Crie um workflow. Para mais informações, consulte Workflows.
-
Crie um nó do Data Integration de uma das seguintes maneiras:
Método 1: No canto superior direito da lista de workflows, clique em
e escolha .Método 2: Clique duas vezes no nome do workflow e arraste o nó Data Integration do diretório Data Integration para o painel de edição do workflow à direita.
Configure os tipos de origem e destino para o nó, selecione Single Table Batch Sync como tipo específico e clique em OK para concluir a criação.
Legacy Data Studio
Faça login no console do DataWorks. No painel de navegação à esquerda, escolha . Selecione o workspace desejado na lista suspensa e clique em Data Analytics.
Crie um workflow. Para mais informações, consulte Criar um workflow.
-
Crie um nó de sincronização em lote de uma das seguintes formas:
Método 1: Expanda o workflow, clique com o botão direito em .
Método 2: Clique duas vezes no nome do workflow e arraste o nó Batch Synchronization do diretório Data Integration para o painel de edição do workflow à direita.
Siga as instruções na tela para criar um nó de sincronização em lote.
Etapa 2: Configurar fontes de dados e recursos de execução
Neste exemplo, o tipo de fonte de dados da Source está definido como MySQL e a fonte de dados como mysql. O tipo de fonte de dados do Destination está definido como MaxCompute (ODPS) e a fonte de dados como own_mc. O Resource Group está definido como dwGroup, e CU como 0,5 CU.
Nas seções Source Information e Destination, selecione os objetos de fonte de dados dos quais deseja ler e nos quais deseja gravar dados.
Na seção Runtime Resource, selecione o Resource Group para a tarefa de sincronização e aloque Resource Group CU para a tarefa. Se sua tarefa de sincronização apresentar um erro de falta de memória (OOM) devido a recursos insuficientes, aumente o valor de CU do grupo de recursos. Para configurações recomendadas de cota de recursos, consulte Métricas de desempenho do grupo de recursos - Data Integration.
Certifique-se de que tanto a fonte de dados de origem quanto a de destino passem na Connectivity Check. Caso a rede entre a fonte de dados e o grupo de recursos não esteja conectada, siga as instruções na tela ou a documentação para configurar a conectividade de rede. Para mais informações, consulte Configurar conectividade de rede.
Se um grupo de recursos não for exibido, verifique se ele foi associado ao workspace. Para mais informações, consulte Usar grupos de recursos serverless.
Etapa 3: Configurar a solução de sincronização
Nas seções de origem e destino, configure as tabelas para leitura e gravação de dados e especifique o escopo dos dados para sincronização.
As configurações variam dependendo do plug-in. O conteúdo a seguir usa configurações comuns como exemplos. Para saber se um plug-in específico suporta determinada configuração e como ela funciona, consulte a documentação desse plug-in. Para mais informações, veja Lista de fontes de dados.
1. Source
Na seção de origem, configure a tabela de dados e preencha os parâmetros necessários.
|
Operação |
Descrição |
|
Configurar filtragem de dados |
O método de configuração de sincronização incremental varia conforme a fonte de dados (plug-in). Se nenhuma condição de filtragem de dados for configurada, todos os dados da tabela serão sincronizados por padrão. |
|
Configurar uma chave de divisão para bancos de dados relacionais |
Especifique a coluna usada para dividir os dados visando leituras simultâneas durante a sincronização. Recomendamos o uso da chave primária como chave de divisão, pois as chaves primárias geralmente são distribuídas uniformemente, o que evita hotspots de dados. Atualmente, a chave de divisão suporta apenas tipos inteiros. Tipos string, ponto flutuante, data e outros não são suportados. Se você especificar um tipo não suportado, o DataWorks ignora a chave de divisão e usa um único canal para sincronização. Caso nenhuma chave de divisão seja especificada, a sincronização de dados utilizará um único canal. Nem todos os plug-ins suportam chave de divisão. As informações anteriores servem apenas como referência. Para detalhes, consulte a documentação do plug-in. Para mais informações, veja Lista de fontes de dados. |
2. Processamento de dados
O processamento de dados é um recurso da nova versão do Data Studio. No Legacy Data Studio, é necessário selecionar Use New UI (With Data Processing Feature) ao criar uma tarefa. Recomendamos atualizar os workspaces legados para a nova versão a fim de utilizar toda a gama de recursos: Atualizar para a nova versão.
O processamento de dados permite transformar dados da tabela de origem usando métodos como substituição de strings, processamento assistido por IA e vetorização de dados antes de gravá-los na tabela de destino.
Tome a substituição de strings como exemplo. Os itens de configuração incluem Name e Description. Nas regras de substituição, selecione o Field Name, insira o Content to Replace (que suporta Regular Expression Matching e Case-Sensitive Matching) e especifique o Replacement Content. Você pode clicar em Add Rule para adicionar várias regras de substituição e usar o Data Output Preview no canto superior direito para visualizar os resultados do processamento.
Clique no botão de alternância para ativar o processamento de dados.
Na Data Processing List, clique em Add Node e selecione um tipo de processamento de dados: Replace String, AI-Assisted Processing ou Data Vectorization. É possível adicionar vários nós de processamento de dados. O DataWorks os processa em ordem.
-
Configure as regras de processamento de dados conforme solicitado. Para informações sobre processamento assistido por IA e vetorização de dados, consulte Processamento de dados.
NotaO processamento de dados requer recursos computacionais adicionais, o que aumenta o consumo de recursos e a duração da tarefa. Minimize a complexidade do processamento para evitar impactos na eficiência da sincronização.
3. Destination
Na seção de destino, configure a tabela de dados e preencha os parâmetros obrigatórios.
|
Operação |
Descrição |
|
Configurar instruções pré e pós-sincronização |
Algumas fontes de dados permitem executar instruções SQL no destino antes da sincronização (antes da gravação de dados) e após a sincronização (após a gravação de dados). Exemplo: O MySQL Writer suporta configuração de preSql e postSql, permitindo executar comandos MySQL antes ou depois que os dados forem gravados no MySQL. Por exemplo, configure o comando de truncamento de tabela MySQL |
|
Definir o modo de resolução de conflitos de gravação |
Defina como os dados são gravados no destino quando ocorrem conflitos, como conflitos de caminho ou de chave primária. Consulte a documentação do plug-in writer específico para detalhes de configuração. |
Notas de configuração de tabela particionada do MaxCompute
Quando o destino for uma tabela particionada do MaxCompute, observe o seguinte:
Identificação da coluna de partição: O DataWorks identifica automaticamente a estrutura de partição da tabela de destino do MaxCompute. Se apenas algumas colunas de partição forem exibidas na interface, verifique se todas as colunas de partição estão definidas corretamente tanto no ambiente de desenvolvimento quanto no de produção. Caso a tarefa falhe e solicite a configuração das informações de partição da tabela, preencha os parâmetros de partição na configuração de destino.
-
Atualização do mapeamento de colunas: Se novas colunas forem adicionadas à origem ou ao destino, mas não aparecerem na seção de mapeamento de colunas, tente os métodos a seguir para atualizar o cache:
Garanta que os esquemas das tabelas nos ambientes de desenvolvimento e produção estejam atualizados.
Na página de configuração, alterne para uma tabela diferente e retorne à tabela original para atualizar o cache.
Se o cache ainda não for atualizado, reinicie o navegador ou use o modo anônimo para reabrir a página de configuração.
4. Configurar mapeamentos de colunas
Após selecionar a origem e o destino, especifique o mapeamento de colunas entre o leitor e o gravador. A tarefa grava as colunas de origem nas colunas de destino correspondentes com base nos mapeamentos.
Se uma coluna de origem não estiver mapeada para uma coluna de destino, seus dados não serão sincronizados.
Caso o mapeamento automático não atenda às suas expectativas, ajuste manualmente os mapeamentos.
Para remover um mapeamento de coluna, exclua a linha de mapeamento entre as colunas de origem e de destino. Os dados dessa coluna de origem não serão sincronizados.
Incompatibilidades de tipo de coluna entre a origem e o destino podem gerar dados incorretos, impedindo a gravação no destino. Para definir o número de registros de dados incorretos toleráveis, configure a Advanced configuration na próxima etapa.
São suportados mapeamento por mesmo nome, mesma linha, inteligente e baseado em regras. Durante a configuração, você também pode:
-
Mapeamento inteligente: O Data Integration utiliza análise semântica de IA para identificar automaticamente nomes de colunas, tipos de dados e comentários das tabelas de origem e destino, recomendando mapeamentos ideais. Basta confirmar as recomendações ou fazer pequenos ajustes.
Na seção de mapeamento de colunas, clique em Intelligent Mapping para abrir a caixa de diálogo de mapeamento inteligente. Descreva seus requisitos de mapeamento em linguagem natural.
-
Cenário aplicável
Exemplo típico
Prompt recomendado
Correspondência semântica global
Nomes de colunas completamente diferentes, mas com o mesmo significado (Exemplo:
user_id↔device_id)Realize correspondência semântica em todas as colunas das tabelas de origem e destino, identificando automaticamente colunas com o mesmo significado.Correspondência de domínio de negócio específico
Apenas colunas de negócio específicas precisam ser mapeadas (Exemplo: apenas colunas relacionadas a "usuário" ou "pedido")
Mapeie apenas as colunas da tabela de origem que contêm "informações do usuário" (como nome, telefone e ID) para as colunas correspondentes na tabela de destino.(Nota: Substitua a palavra-chave por "pedido", "logística", "pagamento", etc.)Diferenças de convenção de prefixo/sufixo
Nomes principais iguais, mas prefixos/sufixos diferentes (Exemplo:
src_user_name↔tgt_user_name)Ignore diferenças de prefixo e sufixo nos nomes das colunas e realize correspondência semântica baseada apenas nos nomes principais.Correspondência entre abreviação e nome completo
Um lado usa abreviações enquanto o outro usa nomes completos (Exemplo:
amt↔amount)Identifique mapeamentos comuns de abreviação para nome completo em inglês (como amt=amount, addr=address) e crie mapeamentos correspondentes.Excluir colunas específicas
Algumas colunas são semelhantes, mas não precisam ser sincronizadas (Exemplo:
create_timenão é necessária)Realize correspondência semântica, mas exclua todas as colunas que contenham "time" ou "log" em seus nomes.Correção de lógica complexa
O resultado do mapeamento automático está incorreto e é necessária orientação manual
Não mapeie a coluna id da tabela de origem para a coluna order_id da tabela de destino. Regenere as sugestões de mapeamento. Após inserir a descrição, clique em Generate Preview. O sistema exibe os mapeamentos sugeridos na seção Matching Result Preview. Revise e selecione os mapeamentos necessários e clique em Apply para adicioná-los ao mapeamento de colunas. Se os resultados não forem satisfatórios, ajuste a descrição e regenere a pré-visualização.
-
Mapeamento baseado em regras: Quando os nomes das colunas entre origem e destino seguem um padrão, utilize o recurso Rule-Based Mapping para criar mapeamentos de colunas em massa. Configure regras como correspondência de prefixo/sufixo ou substituição de caracteres, visualize os resultados do mapeamento e clique em Apply.
-
Atribuir valores às colunas de destino: Adicione constantes, parâmetros de agendamento e variáveis internas à tabela de destino clicando em Add Fields na coluna Source Table Field. Por exemplo, '123', '${scheduling parameter}', '#{built-in variable}#'.
NotaPara mais informações sobre parâmetros de agendamento, consulte Configurar parâmetros de agendamento.
-
Adicionar variáveis internas: Adicione variáveis internas manualmente, mapeie-as para colunas de destino e envie-as para tarefas downstream.
As variáveis internas disponíveis para cada plug-in são as seguintes:
Variável interna
Descrição
Plug-in suportado
'
#{DATASOURCE_NAME_SRC}#'Nome da fonte de dados de origem
-
MySQL Reader
-
MySQL (sharded) Reader
-
PolarDB Reader
-
PolarDB (sharded) Reader
-
PostgreSQL Reader
-
PolarDB-O Reader
-
PolarDB-O (sharded) Reader
'
#{DB_NAME_SRC}#'Nome do banco de dados onde a tabela de origem reside
-
MySQL Reader
-
MySQL (sharded) Reader
-
PolarDB Reader
-
PolarDB (sharded) Reader
-
PostgreSQL Reader
-
PolarDB-O Reader
-
PolarDB-O (sharded) Reader
'
#{SCHEMA_NAME_SRC}#'Nome do esquema onde a tabela de origem reside
-
PolarDB Reader
-
PolarDB (sharded) Reader
-
PostgreSQL Reader
-
PolarDB-O Reader
-
PolarDB-O (sharded) Reader
'
#{TABLE_NAME_SRC}#'Nome da tabela de origem
-
MySQL Reader
-
MySQL (sharded) Reader
-
PolarDB Reader
-
PolarDB (sharded) Reader
-
PostgreSQL Reader
-
PolarDB-O Reader
-
PolarDB-O (sharded) Reader
'
#{FILE_NAME_SRC}#'Nome do arquivo
-
OSS Reader
-
HDFS Reader
-
FTP Reader
-
TOS Reader
-
COS Reader
-
S3 Reader
-
Azure Blob Reader
'
#{FILE_PATH_SRC}#'Caminho absoluto do arquivo
-
OSS Reader
-
HDFS Reader
-
FTP Reader
-
TOS Reader
-
COS Reader
-
S3 Reader
-
Azure Blob Reader
-
-
Editar colunas de origem: Clique em Manually Edit Mapping para realizar as seguintes operações:
Utilize funções suportadas pelo banco de dados de origem para processar colunas. Por exemplo, use Max(id) para sincronizar apenas o valor máximo.
Edite manualmente as colunas de origem caso o mapeamento de colunas não recupere todas as colunas.
NotaO MaxCompute Reader não suporta o uso de funções.
Etapa 4: Configuração avançada
A configuração avançada equivale ao recurso Channel da versão anterior de sincronização de dados.
Use a configuração avançada para controlar propriedades do processo de sincronização de dados. Para mais informações, consulte Controle de Canal.
|
Parâmetro |
Descrição |
|
Expected Maximum Concurrency |
Define o número máximo de threads simultâneas para leitura da origem ou gravação no destino. Nota
|
|
Sync Rate |
Controla a velocidade de sincronização.
Nota
A métrica de tráfego é medida pelo Data Integration e não representa o tráfego real da NIC. O tráfego da NIC é tipicamente 1 a 2 vezes maior que o tráfego do canal, dependendo da serialização de transporte do sistema de armazenamento de dados. |
|
Policy for Dirty Data Records |
Dados incorretos referem-se a registros de dados que falham ao serem gravados no destino devido a exceções como conflitos de tipo ou violações de restrição. A sincronização em lote de tabela única suporta a definição de uma política de dados incorretos. Defina o número de registros de dados incorretos a tolerar e como eles afetam a tarefa.
Importante
O excesso de dados incorretos afeta a velocidade geral de sincronização da tarefa. |
|
Distributed Execution |
Controla se o modo distribuído deve ser ativado para a tarefa.
O modo distribuído é recomendado para requisitos de alto desempenho. Ele também aproveita recursos fragmentados nas máquinas, aumentando a utilização de recursos. Importante
|
|
Time Zone |
Para sincronização entre fusos horários diferentes, configure o fuso horário de origem para conversão. |
Além das configurações anteriores, a velocidade geral de sincronização também é afetada pelo desempenho da fonte de dados de origem, pelo ambiente de rede e por outros fatores. Para mais informações sobre velocidade de sincronização e ajustes, consulte Velocidade de sincronização e ajustes.
Etapa 5: Configurar definições de agendamento
Para uma tarefa de sincronização em lote de tabela única com agendamento periódico, configure as propriedades para agendamento automático. Acesse a página de edição do nó, clique em Scheduling Settings no lado direito e defina as configurações de agendamento para o nó.
Configure parâmetros de agendamento, políticas de agendamento, horário de agendamento e dependências para a tarefa de sincronização. O método de configuração é o mesmo utilizado para outros nós de desenvolvimento de dados.
Para configurações de agendamento na nova versão do Data Studio, consulte Agendamento de nós (nova versão).
Para configurações de agendamento no Legacy Data Studio, consulte Agendamento de nós (legado).
Para mais informações sobre o uso de parâmetros de agendamento, consulte Cenários típicos de parâmetros de agendamento no Data Integration .
Etapa 6: Testar e implantar a tarefa
-
Configure os parâmetros de execução.
No lado direito da página de configuração da tarefa de sincronização em lote de tabela única, clique em Run Configuration e configure os seguintes parâmetros para execuções de teste.
Item de configuração
Descrição
Resource Group
Selecione um grupo de recursos que tenha conectividade de rede com as fontes de dados.
Script Parameters
Atribua valores aos parâmetros de espaço reservado na tarefa de sincronização de dados. Por exemplo, se a tarefa do Data Integration usar o parâmetro
${bizdate}, configure um parâmetro de data no formatoyyyymmdd. -
Execute a tarefa.
Clique no botão Executar
na barra de ferramentas para executar e depurar a tarefa no Data Studio. Em seguida, crie um nó do tipo de tabela de destino correspondente para consultar os dados da tabela de destino e verificar se os dados sincronizados atendem às expectativas. -
Implante a tarefa.
Após a tarefa passar na execução de teste, se precisar ser executada periodicamente, clique no botão
na parte superior da página de edição do nó para implantar a tarefa no ambiente de produção. Para mais informações sobre implantação de tarefas, consulte Implantar tarefas.
Limitações
Tarefas de sincronização em lote de tabela única só podem ser configuradas no Data Studio.
-
Algumas fontes de dados não suportam o modo assistente para configurar tarefas de sincronização em lote de tabela única.
Após selecionar uma fonte de dados, se o sistema indicar que a fonte atual não suporta o modo assistente, clique no ícone
na barra de ferramentas para alternar para o modo script e continuar configurando a tarefa. Para mais informações, consulte Configuração em modo script. O modo assistente possui baixa curva de aprendizado, mas não suporta alguns recursos avançados. Para um gerenciamento de configuração mais granular, clique no ícone de conversão para script na barra de ferramentas para alternar para o modo script.
Uma tarefa de sincronização em lote de tabela única no modo assistente suporta a configuração de sincronização para uma única tabela e sincronização parcial de banco de dados e tabelas fragmentadas (a sincronização de banco de dados e tabelas fragmentadas é suportada apenas para certos tipos de fontes de dados e exige esquemas de tabela consistentes). Ela não suporta sincronização de banco de dados completo (sincronização em massa de esquemas de tabela e dados). Para sincronização de banco de dados completo, consulte Tarefas de sincronização em lote de banco de dados completo.
Uma tarefa de sincronização em lote não pode ser convertida diretamente em uma tarefa de sincronização em tempo real. Se precisar de sincronização de dados em tempo real, crie um nó de tarefa de sincronização em tempo real de tabela única.
Se uma mensagem indicar que o nome do nó é muito longo ao implantar a tarefa, modifique o nome do nó na configuração avançada da página de implantação. Certifique-se de que o nome não exceda 128 caracteres.
Próxima etapa
Após a implantação da tarefa, acesse o Operation Center no ambiente de produção para visualizar a tarefa agendada. Para mais informações sobre execução, gerenciamento e monitoramento de tarefas do Data Integration, consulte O&M de tarefas do Data Integration.