Como replicar dados do MySQL para o BigQuery


Neste tutorial, mostramos como criar e implantar um pipeline que replica continuamente os dados alterados de um banco de dados MySQL para uma tabela do BigQuery.

Objetivos

Neste tutorial, você aprenderá a:

  1. Implante o banco de dados MySQL no Compute Engine.
  2. Configure seu banco de dados MySQL para ativar a replicação.
  3. Criar e executar um job de replicação do Cloud Data Fusion
  4. 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 deste tutorial, use a calculadora de preços. Novos usuários do Google Cloud podem estar qualificados para uma avaliação gratuita.

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

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud. Saiba como verificar se o faturamento está ativado em um projeto.

  4. Ative as APIs Cloud Data Fusion, BigQuery, and Cloud Storage.

    Ative as APIs

  5. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  6. Verifique se a cobrança está ativada para o seu projeto do Google Cloud. Saiba como verificar se o faturamento está ativado em um projeto.

  7. Ative as APIs Cloud Data Fusion, BigQuery, and Cloud Storage.

    Ative as APIs

  8. Crie uma instância privada do Cloud Data Fusion na versão 6.3.0 ou superior. Ao configurar a instância:

Se você usa uma instância atual ou não vê a replicação no menu do Cloud Data Fusion, consulte Fazer upgrade para ativar a replicação.

Instalar o MySQL no Compute Engine

  1. Faça o download de uma imagem do Docker do MySQL Server.

  2. Faça upload da imagem do Docker para o Container Registry.

  3. Implante a imagem do Docker em uma nova instância de VM.

  4. Na página Discos do Compute Engine, altere o tamanho do disco para 500 GB e reinicie a VM.

    Acesse a página Discos

  5. Crie um firewall para a instância de VM.

  6. 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 de alteração (CDC) no MySQL.

Criar e executar um job de replicação do Cloud Data Fusion

Fazer upload do driver JDBC

  1. Faça o download do driver JDBC do MySQL (versão 8 ou superior) para a máquina local.

  2. Na IU 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.

Criar o pipeline

  1. Na IU do Cloud Data Fusion, clique no menu e navegue até a página Studio.

  2. Na página Criar novo job de replicação, especifique um Nome para ele.

  3. Clique em Next.

  4. Configure a origem:

    1. Selecione MySQL como a origem.
    2. Em Host, digite o nome do host do servidor MySQL para ler.
    3. Em Porta, insira a porta a ser usada para se conectar ao servidor MySQL: 3306.
    4. Em Nome do plug-in JDBC , selecione mysql (ou o nome que você especificou quando configurou o driver JDBC).
    5. Em Nome do banco de dados, insira sakila.
    6. Na seção Credenciais, insira seu nome de usuário e senha para acessar o servidor MySQL.
  5. Clique em Next.

  6. 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 (incluindo inserir, atualizar e excluir).

  7. Clique em Next.

  8. Configure o destino:

    1. Selecione o destino do BigQuery.
    2. O ID do projeto e a chave da conta de serviço são detectados automaticamente. Mantenha os valores padrão.
    3. (Opcional) Na seção Avançado, é possível configurar o nome e o local do bucket de preparo, o intervalo de carregamento, o prefixo da tabela de preparo e o comportamento quando as tabelas ou bancos de dados são descartados.
  9. Clique em Next.

  10. (Opcional) Configure as propriedades avançadas. Neste tutorial, use as configurações padrão.

  11. Clique em Next.

  12. 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 ocorrem durante a replicação. Se ocorrer algum problema, ele precisará ser resolvido antes de continuar. Para este tutorial, se alguma das tabelas tiver problemas, volte para a etapa em que você selecionou tabelas e, em vez disso, selecione uma tabela ou evento (inserções, atualizações ou exclusões) sem problemas.

    Para mais informações sobre conversões de tipos de dados do banco de dados de origem para o destino do BigQuery, consulte Tipos de dados de replicação.

  13. Clique em Back.

  14. Clique em Next.

  15. Revise o resumo dos detalhes do job de replicação e clique em Implantar job de replicação.

Iniciar o pipeline

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 pipeline

É 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.

  1. Na página Replicação, clique no Nome do job de replicação que você quer.

  2. 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.

  1. Abra o BigQuery no Console do Google Cloud.

  2. No painel esquerdo, clique no nome do projeto para expandir uma lista de conjuntos de dados.

  3. Selecione o conjunto de dados sakila e, em seguida, selecione uma tabela.

Para saber mais, consulte a documentação do Tableau.

Limpeza

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados no tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.

Depois de concluir o tutorial, é possível limpar os recursos criados no Google Cloud para que eles não consumam sua cota e você não receba cobranças por eles 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

  1. No Console do Google Cloud, acesse a página Gerenciar recursos.

    Acessar "Gerenciar recursos"

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
  3. Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.

A seguir