Este tópico descreve como criar uma tarefa de sincronização para exportar dados do MaxCompute para uma fonte de dados MySQL.
Pré-requisitos
-
Você criou uma instância do ApsaraDB RDS for MySQL e obteve seu id. Você também adicionou os endereços ip necessários a uma lista de permissões no console do ApsaraDB RDS. Para mais informações, consulte Create an ApsaraDB RDS for MySQL instance.
NotaAo usar um Serverless Resource Group para executar uma tarefa de sincronização para o ApsaraDB RDS, observe o seguinte:
Se você 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 você 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 informações, consulte Configure a whitelist.
-
Se você 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 visualize os detalhes da tabela. Uma tabela de resultados chamada result_table já foi preparada. Para mais informações, consulte Create a table and upload data.
Um nó virtual (start) e um nó ODPS SQL (insert_data) foram criados. Para mais informações, consulte Create a workflow.
Contexto
No DataWorks, normalmente utiliza-se o Data Integration para importar periodicamente dados de negócios gerados no seu sistema para um workspace. Após as tarefas SQL processarem os dados, você pode exportar os resultados periodicamente para uma fonte de dados específica, seja para exibição ou para uso posterior.
O Data Integration permite importar e 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 compatíveis, consulte Supported data sources and plug-ins.
Etapa 1: Adicionar uma fonte de dados
Somente administradores do workspace podem adicionar fontes de dados. Membros com outras funções podem apenas visualizá-las.
-
Acesse o DataWorks console. Na região de destino, 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, configure 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
Selecione Current Alibaba Cloud Account.
Região
Selecione a região onde a fonte de dados está localizada.
Instância
Selecione a instância do ApsaraDB RDS for MySQL que você criou. Após selecionar uma instância, clique em Obtain Latest Address para visualize os detalhes da instância.
Se nenhuma instância estiver disponível, acesse o ApsaraDB RDS console 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 do banco de dados. Não utilize o símbolo de arroba (@) na senha.
Ao configurar uma tarefa de sincronização, observe o seguinte:
-
Para sincronização em nível de banco de dados (incluindo tempo real e em lote), selecione qualquer banco de dados na instância do ApsaraDB RDS para o qual você tenha permissão de acesso.
-
Em tarefas de sincronização em lote com múltiplos bancos de dados, adicione uma fonte de dados separada para cada banco de dados.
Método de autenticação
Selecione No Authentication.
Configurar instância secundária
Se a fonte de dados tiver uma instância somente leitura (instância secundária), ative Configure Secondary Instance ao configurar a 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. Quando existirem múltiplas instâncias somente leitura, uma instância disponível é selecionada aleatoriamente para as operações de leitura.
NotaEste recurso é compatível apenas com 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 concluído com êxito.
NotaUma tarefa de sincronização pode usar 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 não conseguir se conectar.
Após o teste de conectividade ser aprovado, 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 grava dados da tabela result_table no seu banco de dados MySQL. Siga estas etapas:
-
Acesse o DataWorks console. 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 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 a configuração de rede, consulte Network connectivity solutions.
Clique em Next step para acessar a página Configure tasks.
-
Configure a tarefa de sincronização.
-
Configure 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 selecione insert into em Primary Key Conflict Policy. Isso defina a tabela de origem como result_table e a tabela de destino como ODPS_RESULT. Os demais parâmetros podem ser ajustados conforme suas necessidades de negócio. Para mais informações, consulte Codeless UI configuration. -
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 simultâneos para leitura da origem ou gravação no destino.
Nota-
Devido às especificações de recursos e outros fatores, a simultaneidade real durante a execução pode ser menor ou igual ao valor configurado. O grupo de recursos é cobrado com base na simultaneidade real. Para mais informações, consulte Billing details.
-
As taxas de agendamento de tarefas estão relacionadas ao número de tarefas de sincronização em lote de tabela única, não à simultaneidade configurada.
Sync Rate
Controla a velocidade de sincronização.
-
Com limitação: restringe a velocidade de sincronização para proteger o banco de dados de origem contra sobrecarga de leitura. O valor mínimo de limitação é 1 MB/s.
-
Sem limitação: a tarefa utiliza o máximo desempenho de transferência disponível, sujeito à simultaneidade configurada.
NotaA métrica de tráfego é medida pelo Data Integration e não representa o tráfego real da NIC. O tráfego da NIC costuma ser de 1 a 2 vezes o tráfego do canal, dependendo da serialização de transporte do sistema de armazenamento de dados.
Policy for Dirty Data Records
Dados sujos são registros que não foram 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 permite defina uma política para dados sujos, incluindo a quantidade tolerada e o impacto no andamento da tarefa.
-
Sem configuração definida, dados sujos são permitidos por padrão e não afetam a execução da tarefa.
-
Com o valor definido como 0, nenhum dado sujo é tolerado. Se dados sujos forem gerados durante a sincronização, a tarefa falhará.
-
Quando dados sujos são permitidos e um limiar é definido:
-
Se os dados sujos gerados estiverem dentro do limiar, a tarefa ignora esses registros (sem gravá-los no destino) e continua em execução normalmente.
-
Se os dados sujos gerados ultrapassarem o limiar, a tarefa de sincronização falhará.
-
ImportanteUm volume excessivo de dados sujos compromete a velocidade geral de sincronização da tarefa.
Distributed Execution
Controla se o modo distribuído está ativado para a tarefa.
-
Ativado: divide a tarefa em múltiplos processos para execução simultânea, eliminando o gargalo de processo único e aumentando a eficiência da sincronização.
-
Desativado: a tarefa é executada em um único processo.
O modo distribuído é recomendado para requisitos de alto desempenho. Ele também aproveita recursos fragmentados nas máquinas, melhorando a utilização dos recursos.
Importante-
A simultaneidade deve ser 8 ou superior para habilitar o processamento distribuído.
-
O processamento distribuído consome mais recursos. Caso ocorra um erro de falta de memória (OOM) durante a execução, tente desativar este recurso.
Time Zone
Para sincronização entre fusos horários, configure o fuso horário da origem para realizar a conversão de fuso horário.
-
-
Configure as dependências da tarefa.
Defina o nó insert_data como nó upstream do nó write_result no Workflow atual. Na tela do workflow, conecte o nó insert_data ao nó write_result para estabelecer a dependência upstream/downstream. Isso garante que write_result seja executado somente após a conclusão de insert_data.
-
Após configurar a tarefa, clique no ícone
na barra de ferramentas para salve a tarefa.
Etapa 3: Confirmar e implantar a tarefa
Após salve a tarefa de sincronização, retorne ao workflow. Clique no ícone
na barra de ferramentas para confirmar a tarefa de sincronização no sistema de agendamento. O sistema de agendamento execute a tarefa automaticamente conforme o cronograma configurado, a partir do dia seguinte.
Próximas etapas
Este tutorial descreveu como crie uma tarefa de sincronização para exportar dados para diferentes tipos de fontes de dados. O próximo tutorial explica como configurar propriedades de agendamento e dependências para uma tarefa de sincronização. Para mais informações, consulte Configure scheduling and dependencies.
Documentação relacionada
Para mais informações sobre como configurar uma tarefa de sincronização em lote, consulte Codeless UI configuration.