Replica dei dati da MySQL a BigQuery


Questo tutorial mostra come creare ed eseguire il deployment di un job che replica continuamente i dati modificati da un database MySQL a una tabella BigQuery.

Obiettivi

In questo tutorial:

  1. Esegui il deployment del database MySQL su Compute Engine.
  2. Configura il database MySQL per abilitare la replica.
  3. Crea ed esegui un job di replica Cloud Data Fusion.
  4. Visualizza i risultati in BigQuery.

Costi

In questo documento utilizzi i seguenti componenti fatturabili di Google Cloud:

Per generare una stima dei costi in base all'utilizzo previsto, utilizza il calcolatore prezzi.

I nuovi utenti di Google Cloud potrebbero avere diritto a una prova gratuita.

Quando viene eseguita la replica, ti viene addebitato il costo del cluster Dataproc e vengono addebitati i costi di elaborazione per BigQuery. Per ottimizzare questi costi, ti consigliamo vivamente di utilizzare i prezzi a costo fisso di BigQuery.

Prima di iniziare

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Verify that billing is enabled for your Google Cloud project.

  3. Enable the Cloud Data Fusion, BigQuery, and Cloud Storage APIs.

    Enable the APIs

  4. Crea un'istanza Cloud Data Fusion pubblica nella versione 6.3.0 o successive. Se crei un'istanza privata, configura il peering di rete VPC.
    • Quando crei l'istanza, abilita la replica facendo clic su Aggiungi acceleratori e selezionando la casella di controllo Replica.
    • Per abilitarla in un'istanza esistente, vedi Abilitare la replica.
  5. Ruoli obbligatori

    Per ottenere le autorizzazioni necessarie per questo tutorial, consulta Controllo dell'accesso con IAM e Concedere l'autorizzazione utente service account.

    Installa MySQL in Compute Engine

    1. Scarica un'immagine Docker del server MySQL.

    2. Carica l'immagine Docker in Artifact Registry.

    3. Esegui il deployment dell'immagine Docker su una nuova istanza VM.

    4. Nella pagina Dischi di Compute Engine, modifica le dimensioni del disco in 500 GB e riavvia la VM.

      Vai a Dischi

    5. Crea un firewall per l'istanza VM.

    6. Installa il database di esempio Sakila.

    Abilita la replica nel database MySQL

    Per abilitare la replica, configura Change Data Capture (CDC) in MySQL.

    Crea ed esegui un job di replica Cloud Data Fusion

    Caricare il driver JDBC

    1. Scarica il driver MySQL JDBC (versione 8 o successive) sulla tua macchina locale.

    2. Nell'interfaccia web di Cloud Data Fusion, carica il driver JDBC.

      Utilizza questi valori per configurare il driver JDBC:

      • Nel campo Nome, inserisci mysql.
      • Nel campo Versione, lascia il valore predefinito.
      • Nel campo Nome classe, inserisci com.mysql.jdbc.Driver.

    Crea il lavoro

    1. Nell'interfaccia web di Cloud Data Fusion, fai clic su Replicazione.

    2. Fai clic su Crea un job di replica.

    3. Nella pagina Crea nuovo job di replica, specifica un Nome per il job di replica e fai clic su Avanti.

    4. Configura l'origine:

      1. Seleziona MySQL come origine.
      2. In Host, inserisci il nome host del server MySQL da cui leggere.
      3. Per Porta, inserisci la porta da utilizzare per connetterti al server MySQL: 3306.
      4. Per JDBC Plugin Name (Nome plug-in JDBC), seleziona mysql o il nome che hai specificato quando hai configurato il driver JDBC.
      5. In Nome database, inserisci sakila.
      6. Nella sezione Credenziali, inserisci il tuo nome utente e la password per accedere al server MySQL.
    5. Fai clic su Avanti.

    6. Configura il target:

      1. Seleziona la destinazione BigQuery.
      2. L'ID progetto e la chiave dell'account di servizio vengono rilevati automaticamente. Mantieni i valori predefiniti.
      3. (Facoltativo) Nella sezione Avanzate, configura il nome, la posizione, l'intervallo di caricamento, il prefisso della tabella di staging e il comportamento quando vengono eliminati tabelle o database.
    7. Fai clic su Avanti.

    8. Se la connessione viene stabilita, viene visualizzato un elenco di tabelle del database di esempio Sakila. Per questo tutorial, seleziona alcune tabelle ed eventi da replicare, come gli eventi Inserisci, Aggiorna ed Elimina.

    9. (Facoltativo) Configura le proprietà avanzate. Per questo tutorial, puoi utilizzare le impostazioni predefinite.

    10. Fai clic su Avanti.

    11. Nella pagina Esamina valutazione, fai clic su Visualizza mappature in una delle tabelle per una valutazione di problemi dello schema, funzionalità mancanti o problemi di connettività che potrebbero verificarsi durante la replica. In caso di problemi, devono essere risolti prima di poter procedere. Per questo tutorial, se si verificano problemi con una delle tabelle, torna al passaggio in cui hai selezionato le tabelle e scegli tabelle o eventi (inserimenti, aggiornamenti o eliminazioni) senza problemi.

      Per ulteriori informazioni sulle conversioni dei tipi di dati dal database di origine alla destinazione BigQuery, consulta la sezione Tipi di dati di replica.

    12. Fai clic su Avanti.

    13. Esamina i dettagli del job di replica del riepilogo e poi fai clic su Deploy replication job.

    Avviare il job

    • Nella pagina Dettagli job di replica, fai clic su Avvia.

    Il job di replica passa dallo stato In fase di provisioning a In fase di avvio a In esecuzione. Nello stato di esecuzione, il job di replica carica uno snapshot iniziale dei dati della tabella selezionata in BigQuery. In questo stato, lo stato della tabella è elencato come Snapshotting. Dopo il caricamento dello snapshot iniziale in BigQuery, tutte le modifiche apportate alla tabella vengono replicate in BigQuery e lo stato della tabella viene visualizzato come Replica in corso.

    Monitorare il job

    Puoi avviare e interrompere il job di replica, rivedere la sua configurazione e i log e monitorare il job di replica.

    Puoi monitorare le attività del job di replica dalla pagina Dettagli job di replica.

    1. Nella pagina Replicazione, fai clic sul nome del job di replicazione.

    2. Fai clic su Monitoraggio.

    Visualizza i risultati in BigQuery

    Il job di replica crea un set di dati e una tabella replicati in BigQuery, con nomi ereditati dai nomi del database e della tabella MySQL corrispondenti.

    1. Nella console Google Cloud , vai alla pagina BigQuery.

      Vai a BigQuery

    2. Nel riquadro a sinistra, seleziona il nome del progetto per espandere un elenco di set di dati.

    3. Per visualizzare i risultati, seleziona il set di dati sakila e una tabella.

    Per ulteriori informazioni, consulta la documentazione di BigQuery.

    Esegui la pulizia

    Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.

    Al termine del tutorial, elimina le risorse che hai creato suGoogle Cloud in modo che non occupino quota e non ti vengano addebitate in futuro. Le seguenti sezioni descrivono come eliminare o disattivare queste risorse.

    Elimina l'istanza Cloud Data Fusion.

    Segui le istruzioni per eliminare l'istanza Cloud Data Fusion.

    Elimina il progetto

    1. In the Google Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.

    Passaggi successivi