Neste tutorial, mostramos como criar e implantar um job que replica continuamente os dados alterados de um banco de dados MySQL para uma tabela do BigQuery.
Objetivos
Neste tutorial, você aprenderá a:
- Implante o banco de dados MySQL no Compute Engine.
- Configure seu banco de dados MySQL para ativar a replicação.
- Criar e executar um job de replicação do Cloud Data Fusion.
- Ver os resultados no BigQuery.
Custos
Neste documento, você usará os seguintes componentes faturáveis do Google Cloud:
Para gerar uma estimativa de custo baseada na projeção de uso,
use a calculadora de preços.
Quando a replicação é executada, você é cobrado pelo cluster do Dataproc e há custos de processamento para o BigQuery. Para otimizar esses custos, recomendamos que você use os preços fixos do BigQuery .
Antes de começar
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Data Fusion, BigQuery, and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.- Crie uma instância pública do Cloud Data Fusion na versão 6.3.0 ou mais recente. Se você
criar uma instância particular, configure o peering de rede VPC.
- Ao criar a instância, ative a replicação clicando em Adicionar aceleradores e marcando a caixa de seleção Replicação.
- Para ativá-la em uma instância atual, consulte Ativar a replicação.
Funções exigidas
Para receber as permissões necessárias para este tutorial, consulte Controle de acesso com o IAM e Conceder permissão de usuário da conta de serviço.
Instalar o MySQL no Compute Engine
Faça o download de uma imagem Docker do MySQL Server.
Faça upload da imagem do Docker para o Artifact Registry.
Implante sua imagem Docker em uma nova instância de VM.
Na página Discos do Compute Engine, altere o tamanho do disco para
500 GBe reinicie a VM.Crie um firewall para a instância de VM.
Instale o banco de dados de amostra Sakila.
Ativar a replicação no banco de dados MySQL
Para ativar a replicação, configure a captura de dados alterados (CDC) no MySQL.
Criar e executar um job de replicação do Cloud Data Fusion
Fazer upload do driver JDBC
Faça o download do driver JDBC do MySQL (versão 8 ou superior) para a máquina local.
Na interface da Web do Cloud Data Fusion, faça upload do driver JDBC.
Use estes valores para configurar o driver JDBC:
- No campo Nome, use
mysql. - No campo Versão, mantenha o padrão.
- No campo Class Name, digite
com.mysql.jdbc.Driver.
- No campo Nome, use
Crie a tarefa
Na interface da Web do Cloud Data Fusion, clique em Replicação.
Clique em Criar um job de replicação.
Na página Criar novo job de replicação, especifique um Nome para o job de replicação e clique em Próxima.
Configure a origem:
- Selecione MySQL como a origem.
- Em Host, digite o nome do host do servidor MySQL para ler.
- Em Porta, insira a porta a ser usada para se conectar ao servidor MySQL:
3306. - Em Nome do plug-in JDBC , selecione
mysqlou o nome que você especificou quando você configurou o driver JDBC. - Em Nome do banco de dados, insira
sakila. - Na seção Credenciais, insira seu nome de usuário e senha para acessar o servidor MySQL.
Clique em Próxima.
Configure o destino:
- Selecione o destino do BigQuery.
- O ID do projeto e a chave da conta de serviço são detectados automaticamente. Mantenha os valores padrão.
- Opcional: na seção Avançado, configure o nome, o local, o intervalo de carregamento, o prefixo da tabela de preparo e o comportamento do bucket de preparo quando as tabelas ou bancos de dados são descartados.
Clique em Próxima.
Se a conexão for bem-sucedida, uma lista de tabelas de banco de dados de amostra da Sakila será exibida. Para este tutorial, selecione algumas tabelas e eventos para replicar, como eventos de inserção, atualização e exclusão.
Opcional: configure as propriedades avançadas. Neste tutorial, use as configurações padrão.
Clique em Próxima.
Na página Analisar avaliação , clique em Visualizar mapeamentos em qualquer uma das tabelas para ver uma avaliação dos problemas de esquema, dos recursos ausentes ou dos problemas de conectividade que podem ocorrer durante a replicação. Se ocorrerem problemas, eles precisarão ser resolvidos antes de continuar. Para este tutorial, se alguma das tabelas tiver problemas, volte para a etapa em que você selecionou tabelas e escolha tabelas ou eventos (inserções, atualizações ou exclusões) sem problemas.
Para mais informações sobre conversões de tipo de dados do banco de dados de origem para o destino do BigQuery, consulte Tipos de dados de replicação.
Clique em Próxima.
Revise o resumo dos detalhes do job de replicação e clique em Implantar job de replicação.
Iniciar o job
- Na página Detalhes do job de replicação, clique em Iniciar.
O job de replicação é transferido do estado provisionando para Iniciando em Em execução. No estado em execução, o job de replicação carrega um snapshot inicial dos dados da tabela que você selecionou no BigQuery. Nesse estado, o estado da tabela é listado como Snapshot. Depois que o snapshot inicial é carregado no BigQuery, todas as alterações feitas na tabela são replicadas no BigQuery, e o estado da tabela é listado como Replicação.
Monitorar o job
É possível iniciar e interromper o job de replicação, revisar a configuração e os registros dele e monitorar o job.
É possível monitorar as atividades do job de replicação na página Detalhes do job de replicação.
Na página Replicação, clique no Nome do job de replicação.
Clique em Monitoring.
Ver os resultados no BigQuery
O job de replicação cria um conjunto de dados e uma tabela replicados no BigQuery. Os nomes são herdados dos bancos de dados e nomes de tabelas MySQL correspondentes.
No Google Cloud console, acesse a página BigQuery.
No painel à esquerda, selecione o nome do projeto para expandir uma lista de conjuntos de dados.
Para visualizar os resultados, selecione o conjunto de dados
sakilae selecione uma tabela.
Para saber mais, consulte a documentação do BigQuery.
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.
Depois de concluir este tutorial, libere espaço dos recursos que você criou no Google Cloud para não atingir a cota nem gerar cobranças para você no futuro. Nas seções a seguir, você aprenderá a excluir e desativar esses recursos.
Excluir a instância do Cloud Data Fusion
Siga as instruções para excluir a instância do Cloud Data Fusion.
Excluir o projeto
- No Google Cloud console, acesse a página Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir.
- Na caixa de diálogo, digite o ID do projeto e clique em Desligar para excluir o projeto.
A seguir
- Saiba mais sobre replicação no Cloud Data Fusion.
- Consulte a referência da API Replication.
- Siga o tutorial para replicar dados do SQL Server para o BigQuery.
- Faça o tutorial Como replicar dados do Oracle para o BigQuery.