Este tópico descreve como criar uma tarefa de sincronização para exportar dados do MaxCompute para uma fonte de dados MySQL.
Pré-requisitos
-
Crie uma instância do ApsaraDB RDS for MySQL e obtenha o ID da instância. Adicione também os endereços IP necessários à lista de permissões no console do ApsaraDB RDS. Para mais informações, consulte Criar uma instância do ApsaraDB RDS for MySQL.
NotaAo usar um Serverless Resource Group para executar uma tarefa de sincronização do ApsaraDB RDS, observe o seguinte:
Se acessar a fonte de dados por uma rede interna (VPC), adicione o bloco CIDR do vSwitch vinculado ao grupo de recursos à lista de permissões da fonte de dados.
Se acessar a fonte de dados pela Internet, adicione o Elastic IP Address (EIP) da Virtual Private Cloud (VPC) à qual o Serverless Resource Group está vinculado à lista de permissões da fonte de dados.
Para mais detalhes, consulte Configurar uma lista de permissões.
-
Se usar um banco de dados ApsaraDB RDS for MySQL, crie uma tabela chamada ODPS_RESULT no banco de dados executando a seguinte instrução:
CREATE TABLE `ODPS_RESULT` ( `education` varchar(255) NULL , `num` int(10) NULL );Após criar a tabela, execute a instrução
DESC ODPS_RESULT;para visualizar seus detalhes. Prepare uma tabela de resultados chamada result_table. Para mais informações, consulte Criar uma tabela e carregar dados.
Crie um nó virtual (start) e um nó ODPS SQL (insert_data). Para mais informações, consulte Criar um fluxo de trabalho.
Contexto
No DataWorks, é comum usar o Data Integration para importar periodicamente dados de negócios gerados no sistema para um workspace. Após o processamento dos dados pelas tarefas SQL, exporte os resultados periodicamente para uma fonte de dados específica para visualização ou uso posterior.
O Data Integration permite importar ou exportar dados de diversas fontes, como ApsaraDB RDS, MySQL, SQL Server, PostgreSQL, MaxCompute, ApsaraDB for Memcache (OCS), PolarDB-X, Object Storage Service (OSS), Oracle, FTP, DM, HDFS e MongoDB. Para a lista completa de tipos de fontes de dados suportadas, consulte Fontes de dados e plug-ins suportados.
Etapa 1: Adicionar uma fonte de dados
Apenas administradores do workspace podem adicionar fontes de dados. Membros com outras funções somente as visualizam.
-
Faça login no console do DataWorks. Na região desejada, clique em no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Go to Management Center.
-
Crie uma fonte de dados MySQL.
No painel de navegação à esquerda, escolha para acessar a página Data Sources.
Clique em Add. Na caixa de diálogo Add, selecione MySQL.
-
Configure a fonte de dados.
Na caixa de diálogo Add MySQL Data Source, defina os parâmetros. Neste exemplo, selecione Alibaba Cloud instance mode.
A tabela a seguir descreve os principais parâmetros.
Parâmetro
Descrição
Ambiente aplicável
Configure a fonte de dados separadamente para o Development Environment e para o Production Environment.
Modo de configuração
Selecione Alibaba Cloud instance mode.
Conta Alibaba Cloud
Escolha Current Alibaba Cloud Account.
Região
Selecione a região onde a fonte de dados está localizada.
Instância
Escolha a instância do ApsaraDB RDS for MySQL criada. Após selecionar uma instância, clique em Obtain Latest Address para ver os detalhes da instância.
Se nenhuma instância estiver disponível, acesse o console do ApsaraDB RDS para criar uma.
Nome do banco de dados, nome de usuário e senha
Especifique o nome do banco de dados padrão para esta fonte de dados e insira o nome de usuário e a senha correspondentes. Não utilize o caractere arroba (@) na senha.
Observe os pontos abaixo ao configurar uma tarefa de sincronização:
-
Para sincronização no nível do banco de dados (incluindo tempo real e em lote), selecione qualquer banco de dados na instância do ApsaraDB RDS ao qual tenha permissão de acesso.
-
Em tarefas de sincronização em lote que utilizam múltiplos bancos de dados, adicione uma fonte de dados distinta para cada banco.
Método de autenticação
Selecione No Authentication.
Configurar instância secundária
Caso a fonte de dados possua uma instância somente leitura (instância secundária), ative a opção Configure Secondary Instance durante a configuração da tarefa e selecione o ID da instância secundária. O uso de uma instância secundária evita interferências na instância primária e ajuda a preservar seu desempenho. Se houver várias instâncias somente leitura, o sistema selecionará aleatoriamente uma instância disponível para operações de leitura.
NotaEste recurso suporta apenas grupos de recursos serverless.
-
-
Teste a conectividade de rede do grupo de recursos.
Nas abas Data integration e Data Scheduling, clique em Test Network Connectivity para o grupo de recursos correspondente. O status "Connected" indica que o teste foi bem-sucedido.
NotaUma tarefa de sincronização pode utilizar apenas um tipo de grupo de recursos.
Teste a conectividade de cada grupo de recursos com a fonte de dados. A tarefa de sincronização não será executada se o grupo de recursos falhar na conexão.
Após a aprovação no teste de conectividade, clique em Complete Creation para adicionar a fonte de dados.
Etapa 2: Criar e configurar uma tarefa de sincronização
Crie um nó de sincronização chamado write_result para gerar uma tarefa de sincronização. Essa tarefa gravará dados da tabela result_table no seu banco de dados MySQL. Siga estas etapas:
-
Faça login no console do DataWorks. Na região desejada, clique em no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Go to Data Development.
-
Crie um nó de sincronização em lote.
Clique no ícone
e escolha para criar um nó de sincronização em lote. -
Configure a conexão de rede para a tarefa de sincronização.
Na aba Configure Network Connections and Resource Groups da página de edição do nó, defina Source como MaxCompute(ODPS) e MySQL como MySQL. Selecione o grupo de recursos e teste sua conectividade com a fonte de dados. Para mais informações sobre configuração de rede, consulte Soluções de conectividade de rede.
Clique em Next step para ir à página Configure tasks.
-
Configure a tarefa de sincronização.
-
Defina a origem e o destino.
Na seção Source, selecione MaxCompute(ODPS) como fonte de dados e insira
result_tableno campo Table. Na seção Destination, selecione MySQL como fonte de dados, insiraODPS_RESULTno campo Table e escolha insert into para a Primary Key Conflict Policy. Isso define a tabela de origem como result_table e a tabela de destino como ODPS_RESULT. Configure outros parâmetros conforme suas necessidades de negócio. Para mais informações, consulte Configuração de UI sem código. -
Configure o mapeamento de campos.
Mapeie os campos de origem para os campos de destino. A tarefa utiliza esse mapeamento para gravar os dados.
-
Configure o controle de canal.
Parâmetro
Descrição
Expected Maximum Concurrency
Define o número máximo de threads que a tarefa atual usa para ler dados da origem ou gravar dados no destino simultaneamente.
NotaDevido às especificações de recursos e outros fatores, a concorrência real durante a execução pode ser menor ou igual à configurada. O grupo de recursos é cobrado com base na concorrência efetiva durante a execução. Para mais informações, consulte Detalhes de faturamento.
As taxas de agendamento de tarefas estão relacionadas ao número de tarefas de sincronização em lote de tabela única, e não à concorrência configurada.
Sync Rate
Controla a velocidade de sincronização.
Limitação: Permite controlar a velocidade de sincronização para proteger o banco de dados de origem e evitar que uma velocidade de leitura excessiva sobrecarregue a origem. O valor mínimo de limitação é 1 MB/s.
Sem limitação: Quando a limitação não está ativada, a tarefa oferece o desempenho máximo de transferência disponível no ambiente de hardware atual, respeitando a concorrência configurada.
NotaA métrica de tráfego é medida pelo próprio Data Integration e não representa o tráfego real da NIC. Geralmente, o tráfego da NIC é de 1 a 2 vezes superior ao tráfego do canal. A expansão real do tráfego depende da serialização de transporte do sistema de armazenamento de dados específico.
Policy for Dirty Data Records
Dados sujos 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ções. A sincronização em lote de tabela única permite definir uma política para dados sujos. É possível determinar a quantidade de registros de dados sujos toleráveis e como eles afetam a tarefa.
Se nenhuma configuração for especificada, dados sujos são permitidos por padrão, o que significa que não afetam a execução da tarefa.
Se o valor for definido como 0, nenhum dado sujo será permitido. Caso dados sujos sejam gerados durante a sincronização, a tarefa falhará.
Se dados sujos forem permitidos e um limiar for definido:
Quando os dados sujos gerados estiverem dentro do limiar, a tarefa de sincronização ignora esses dados (eles não são gravados no destino) e continua a execução normalmente.
Se os dados sujos gerados excederem o limiar, a tarefa de sincronização falhará.
ImportanteUma quantidade excessiva de dados sujos afeta a velocidade geral de sincronização da tarefa.
Distributed Execution
Controla se o modo distribuído deve ser ativado para a tarefa atual.
Ativado: O modo de execução distribuída divide a tarefa em vários processos para execução simultânea, superando o gargalo de execução de processo único e melhorando a eficiência da sincronização.
Desativado: A tarefa é executada em um único processo.
Caso tenha requisitos elevados de desempenho de sincronização, utilize o modo distribuído. Esse modo também aproveita recursos fragmentados nas máquinas, aumentando a utilização dos recursos.
ImportanteA concorrência deve ser 8 ou superior para ativar o processamento distribuído.
Ativar o processamento distribuído consome mais recursos. Se ocorrer um erro de falta de memória (OOM) durante a execução, tente desativar este recurso.
Time Zone
Se a origem e o destino exigirem sincronização entre fusos horários diferentes, configure o fuso horário de origem para realizar a conversão.
-
Configure as dependências da tarefa.
Defina o nó insert_data como nó upstream do nó write_result no Workflow atual. No canvas do fluxo de trabalho, conecte o nó insert_data ao nó write_result para estabelecer uma dependência upstream/downstream. Isso garante que write_result seja executado após a conclusão de insert_data.
-
Após configurar a tarefa, clique no ícone
na barra de ferramentas para salvar a tarefa.
Etapa 3: Confirmar e implantar a tarefa
Depois de salvar a tarefa de sincronização, retorne ao fluxo de trabalho. Clique no ícone
na barra de ferramentas para submeter a tarefa de sincronização ao sistema de agendamento. O sistema executará automaticamente a tarefa com base na programação configurada, a partir do dia seguinte.
Próximas etapas
Este tutorial demonstrou como criar uma tarefa de sincronização para exportar dados para diferentes tipos de fontes. O próximo tutorial explica como configurar propriedades de agendamento e dependências para uma tarefa de sincronização. Para mais informações, consulte Configurar agendamento e dependências.
Documentação relacionada
Para mais detalhes sobre como configurar uma tarefa de sincronização em lote, consulte Configuração de UI sem código.