Replica dei dati da MySQL a BigQuery

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

Obiettivi

In questo tutorial:

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

Costi

Questo tutorial utilizza 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 possono beneficiare di una prova gratuita.

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

Prima di iniziare

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Nella pagina del selettore dei progetti in Google Cloud Console, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su un progetto.

  4. Abilita le API Cloud Data Fusion, BigQuery, and Cloud Storage.

    Abilita le API

  5. Nella pagina del selettore dei progetti in Google Cloud Console, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  6. Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su un progetto.

  7. Abilita le API Cloud Data Fusion, BigQuery, and Cloud Storage.

    Abilita le API

  8. Crea un'istanza di Cloud Data Fusion privata nella versione 6.3.0 o successive. Quando configuri l'istanza:

Se utilizzi un'istanza esistente o se non visualizzi Replica nel menu Cloud Data Fusion , consulta Upgrade per abilitare la replica.

Installa MySQL in Compute Engine

  1. Scarica un'immagine Docker di MySQL server.

  2. Carica l'immagine Docker in Container Registry.

  3. Esegui il deployment della tua immagine Docker in una nuova istanza VM.

  4. Nella pagina Dischi di Compute Engine, cambia la dimensione del disco in 500 GB, quindi riavvia la VM.

    Vai alla pagina Dischi

  5. Crea un firewall per l'istanza VM.

  6. Installa il database di esempio di Sakila.

Abilita replica nel database MySQL

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

Creare ed eseguire un job di replica di Cloud Data Fusion

Carica il driver JDBC

  1. Scarica il driver JDBC di MySQL (versione 8 o successiva) sul tuo computer locale.

  2. Nell'interfaccia utente 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 corso, inserisci com.mysql.jdbc.Driver.

Crea la pipeline

  1. Nella UI di Cloud Data Fusion, fai clic sul menu e vai alla pagina Replication.

  2. Nella pagina Crea nuovo job di replica, specifica un Nome del job di replica.

  3. Tocca Avanti.

  4. Configura l'origine:

    1. Seleziona MySQL come origine.
    2. In Host, inserisci il nome host del server MySQL da cui leggere.
    3. In Porta, inserisci la porta da utilizzare per la connessione al server MySQL: 3306.
    4. Per Nome plug-in JDBC , seleziona mysql (o il nome specificato al momento della configurazione del driver JDBC).
    5. In Nome database, inserisci sakila.
    6. Nella sezione Credenziali, inserisci il nome utente e la password per accedere al server MySQL.
  5. Tocca Avanti.

  6. Se la connessione ha esito positivo, viene visualizzato un elenco di tabelle di database di esempio Sakila. Per questo tutorial, seleziona alcune tabelle ed eventi da replicare (inclusi gli eventi Insert, Update ed Delete).

  7. Tocca Avanti.

  8. Configura il target:

    1. Seleziona il target BigQuery.
    2. L'ID progetto e la chiave account di servizio vengono rilevati automaticamente. Mantieni i valori predefiniti.
    3. (Facoltativo) Nella sezione Avanzate, puoi configurare il nome e la località del bucket di gestione temporanea, l'intervallo di caricamento, il prefisso della tabella temporanea e il comportamento quando le tabelle o i database vengono eliminati.
  9. Tocca Avanti.

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

  11. Tocca Avanti.

  12. Nella pagina Verifica valutazione, fai clic su Visualizza mappature in base a una delle tabelle per ottenere una valutazione dei problemi dello schema, delle funzionalità mancanti o di problemi di connettività che potrebbero verificarsi durante la replica. In caso di problemi, questi devono essere risolti prima di poter procedere. In questo tutorial, se una delle tabelle presenta problemi, torna al passaggio in cui hai selezionato le tabelle, quindi seleziona una tabella o un evento (Inserisci, Aggiornamenti o Elimina) senza problemi.

  13. Fai clic su Back (Indietro).

  14. Tocca Avanti.

  15. Esamina i dettagli del job di replica di riepilogo e fai clic su Esegui il deployment del job di replica.

Avvia la pipeline

Nella pagina Dettagli job di replica:

Fai clic su Avvia.

Il job di replica passa da Provisioning a Running a Running. In stato di esecuzione, il job di replica carica uno snapshot iniziale dei dati della tabella selezionati in BigQuery. In questo stato, la tabella è elencata come Snapshot. Dopo aver caricato lo snapshot iniziale in BigQuery, tutte le modifiche apportate alla tabella vengono replicate in BigQuery e lo stato della tabella è indicato come Replica.

Monitorare la pipeline

Puoi avviare e arrestare il job di replica, esaminarne la configurazione e i log e monitorare il job di replica.

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

  1. Nella pagina Replica, fai clic sul Nome del job di replica desiderato.

  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 i nomi ereditati dai corrispondenti database e database MySQL.

  1. Apri BigQuery in Google Cloud Console.

  2. Nel riquadro a sinistra, fai clic sul nome del progetto per espandere un elenco di set di dati.

  3. Seleziona il set di dati sakila e poi una tabella.

Per scoprire di più, 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.

Dopo aver completato il tutorial, esegui la pulizia delle risorse che hai creato su Google Cloud in modo che non utilizzino la quota e che non ti venga addebitato nulla 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

Il modo più semplice per eliminare la fatturazione è eliminare il progetto che hai creato per il tutorial.

Per eliminare il progetto:

  1. In Cloud Console, vai alla pagina Gestisci risorse.

    Vai a Gestisci risorse

  2. Nell'elenco dei progetti, seleziona il progetto da eliminare, quindi fai clic su Elimina.
  3. Nella finestra di dialogo, digita l'ID del progetto e fai clic su Chiudi per eliminare il progetto.

Passaggi successivi