Crea una tabella abilitata per le modifiche in tempo reale e acquisisci le modifiche

Scopri come configurare una tabella Bigtable con un flusso di modifiche abilitato, eseguire una pipeline di modifiche in tempo reale, apportare modifiche alla tabella e osservare le modifiche in tempo reale.

Prima di iniziare

  1. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  2. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  3. Abilita le API Dataflow, Cloud Bigtable API, and Cloud Bigtable Admin API.

    Abilita le API

  4. Nella console Google Cloud, attiva Cloud Shell.

    Attiva Cloud Shell

Crea una tabella con un flusso di modifiche abilitato

  1. Nella console Google Cloud, vai alla pagina Istanze di Bigtable.

    Vai a Istanze

  2. Fai clic sull'ID dell'istanza che stai utilizzando per questa guida rapida.

    Se non hai un'istanza disponibile, creane una con le configurazioni predefinite in una regione nella tua zona.

  3. Nel riquadro di navigazione a sinistra, fai clic su Tables.

  4. Fai clic su Crea una tabella.

  5. Assegna alla tabella il nome change-streams-quickstart.

  6. Aggiungi una famiglia di colonne denominata cf.

  7. Seleziona Attiva flusso di modifiche.

  8. Fai clic su Crea.

Inizializzare una pipeline di dati per acquisire il flusso di modifiche

  1. In Cloud Shell, esegui questi comandi per scaricare il codice ed eseguirlo.

    git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
    cd java-docs-samples/bigtable/beam/change-streams
    mvn compile exec:java -Dexec.mainClass=ChangeStreamsHelloWorld \
    "-Dexec.args=--project=PROJECT_ID --bigtableProjectId=PROJECT_ID \
    --bigtableInstanceId=BIGTABLE_INSTANCE_ID --bigtableTableId=change-streams-quickstart \
    --runner=dataflow --region=BIGTABLE_REGION --experiments=use_runner_v2"
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto in uso
    • BIGTABLE_INSTANCE_ID: l'ID dell'istanza che conterrà la nuova tabella
    • BIGTABLE_REGION: la regione in cui si trova l'istanza Bigtable, ad esempio us-east5
  2. Nella console Google Cloud, vai alla pagina Dataflow.

    Vai a Dataflow

  3. Fai clic sul job con un nome che inizia con changestreamquickstart.

  4. Nella parte inferiore dello schermo, fai clic su Mostra per aprire il riquadro dei log.

  5. Fai clic su Log worker per monitorare l'output del flusso di modifiche.

  6. In Cloud Shell, scrivi alcuni dati in Bigtable per vedere il processo delle modifiche in tempo reale.

    cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID \
    import change-streams-quickstart quickstart-data.csv column-family=cf
    
  7. Nella console Google Cloud, assicurati che il valore Gravità sia impostato su almeno Info.

  8. I log dell'output del log del worker contengono quanto segue:

    Change captured: user123#2023,USER,SetCell,cf,col1,abc
    Change captured: user546#2023,USER,SetCell,cf,col1,def
    Change captured: user789#2023,USER,SetCell,cf,col1,ghi
    

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi:

  1. Disabilita il flusso di modifiche nella tabella

    gcloud bigtable instances tables update change-streams-quickstart --instance=BIGTABLE_INSTANCE_ID \
    --clear-change-stream-retention-period
    
  2. Elimina la tabella change-streams-quickstart:

    cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID deletetable change-streams-quickstart
    
  3. Interrompi la pipeline delle modifiche in tempo reale:

    1. Nella console Google Cloud, vai alla pagina Job di Dataflow.

      Vai a Job

    2. Seleziona il job di inserimento di flussi dall'elenco dei job.

    3. Nella navigazione, fai clic su Interrompi.

    4. Nella finestra di dialogo Arresta job, annulla la pipeline e fai clic su Arresta job.

  4. (Facoltativo) Elimina l'istanza se ne hai creata una nuova per questa guida rapida:

    cbt deleteinstance BIGTABLE_INSTANCE_ID
    

Passaggi successivi