Crea una tabella abilitata per i flussi di modifiche 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 vedere le modifiche trasmesse in streaming.

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. Make sure that billing is enabled for your Google Cloud project.

  3. Enable the Dataflow, Cloud Bigtable API, and Cloud Bigtable Admin API APIs.

    Enable the APIs

  4. In the Google Cloud console, activate Cloud Shell.

    Activate 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, creala con le configurazioni predefinite in una regione vicino a te.

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

  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.

Inizializza una pipeline di dati per acquisire il flusso di modifiche

  1. In Cloud Shell, esegui i seguenti comandi per scaricare ed eseguire il codice.

    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 che stai utilizzando
    • BIGTABLE_INSTANCE_ID: l'ID dell'istanza che dovrà contenere 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 dei worker per monitorare l'output del flusso di modifiche.

  6. In Cloud Shell, scrivi alcuni dati in Bigtable per visualizzare il processo di 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 Serietà sia impostata su almeno Info.

  8. I log di 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 le modifiche in tempo reale 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 del flusso di modifiche:

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

      Vai a Job

    2. Seleziona il tuo job di streaming dall'elenco dei job.

    3. Nella barra di 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