Sincronizza i set di dati online e offline con BigQuery DataFrames

Utilizzando Bigtable con BigQuery, puoi creare un database di analisi in tempo reale e utilizzarlo nelle pipeline di machine learning (ML). In questo modo puoi mantenere sincronizzati i dati, supportando la manipolazione dei dati e lo sviluppo di modelli (accesso offline) e l'erogazione di applicazioni a bassa latenza (accesso online).

Per creare il database di analisi in tempo reale, puoi utilizzare BigQuery DataFrames, un insieme di librerie Python open source per l'elaborazione dei dati BigQuery. BigQuery DataFrames ti consente di sviluppare e addestrare modelli in BigQuery e replicare automaticamente una copia dei valori dei dati più recenti utilizzati per i tuoi modelli ML in Bigtable per la pubblicazione online.

Questo documento fornisce una panoramica dell'utilizzo di bigframes.streaming API per creare job BigQuery che replicano e sincronizzano automaticamente i set di dati in BigQuery e Bigtable. Prima di leggere questo documento, assicurati di comprendere i seguenti documenti:

BigQuery DataFrames

BigQuery DataFrames ti aiuta a sviluppare e addestrare modelli in BigQuery e a replicare automaticamente una copia dei valori dei dati più recenti utilizzati per i tuoi modelli di ML in Bigtable per la pubblicazione online. Ti consente di svolgere le seguenti operazioni:

  • Sviluppa trasformazioni dei dati in un'interfaccia compatibile con Pandas (bigframes.pandas) direttamente sui dati BigQuery
  • Addestrare modelli utilizzando un'API simile a scikit-learn (bigframes.ML)
  • Sincronizza i dati necessari per l'inferenza a bassa latenza con Bigtable (bigframes.streaming) per supportare le applicazioni rivolte agli utenti

BigFrames StreamingDataFrame

bigframes.streaming.StreamingDataFrame è un tipo di DataFrame nel pacchetto BigQuery DataFrames. Consente di creare un oggetto StreamingDataFrame che può essere utilizzato per generare un job in esecuzione continua che trasmette i dati da una tabella BigQuery designata a Bigtable per la pubblicazione online. Ciò avviene generando query continue BigQuery.

Un BigFrames StreamingDataFrame può:

  • Crea un StreamingDataFrame da una tabella BigQuery designata
  • (Facoltativo) Esegui operazioni Pandas aggiuntive come selezione, filtro e anteprima dei contenuti
  • Crea e gestisci job di streaming in Bigtable

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per utilizzare BigQuery DataFrames in un notebook BigQuery, chiedi all'amministratore di concederti i seguenti ruoli IAM:

Per ottenere le autorizzazioni necessarie per scrivere dati in una tabella Bigtable, chiedi all'amministratore di concederti i seguenti ruoli IAM:

Inizia

BigQuery DataFrames è un pacchetto open source. Per installare l'ultima versione, esegui pip install --upgrade bigframes.

Per creare il tuo primo BigFrames StreamingDataFrame e sincronizzare i dati tra BigQuery e Bigtable, esegui il seguente snippet di codice. Per il esempio di codice completo, consulta il notebook GitHub BigFrames StreamingDataFrame.

  import bigframes.streaming as bst

  bigframes.options._bigquery_options.project = "PROJECT"

  sdf = bst.read_gbq_table("birds.penguins_bigtable_streaming")

  job = sdf.to_bigtable(instance="BIGTABLE_INSTANCE",

    table="TABLE",

    app_profile=None,

    truncate=True,

    overwrite=True,`

    auto_create_column_families=True,

    bigtable_options={},

    job_id=None,

    job_id_prefix= "test_streaming_",)

  print(job.running())

  print(job.error_result)

Sostituisci quanto segue:

  • PROJECT: l'ID del tuo Google Cloud progetto
  • BIGTABLE_INSTANCE: l'ID dell'istanza Bigtable che contiene la tabella in cui stai scrivendo
  • TABLE: l'ID della tabella Bigtable in cui stai scrivendo

Una volta inizializzato, il job viene eseguito come query continua in BigQuery e trasmette in streaming le modifiche ai dati a Bigtable.

Costi

Non sono previsti costi aggiuntivi per l'utilizzo dell'API BigQuery BigFrames, ma ti vengono addebitati i costi per le risorse sottostanti utilizzate per le query continue, Bigtable e BigQuery.

Le query continue utilizzano i prezzi di calcolo della capacità di BigQuery, che vengono misurati in slot. Per eseguire query continue, devi disporre di una prenotazione che utilizza la versione Enterprise o Enterprise Plus e di un assegnazione della prenotazione che utilizza il tipo di job CONTINUOUS.

L'utilizzo di altre risorse BigQuery, come l'importazione e l'archiviazione dei dati, viene addebitato alle tariffe indicate nei prezzi di BigQuery.

L'utilizzo dei servizi Bigtable che ricevono risultati di query continue viene addebitato alle tariffe di prezzi di Bigtable.

Limitazioni

Tutte le limitazioni relative a funzionalità e località associate alle query continue sono applicabili anche ai DataFrame di streaming.

Passaggi successivi