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, supportare la manipolazione dei dati e lo sviluppo di modelli (accesso offline) e l'erogazione di applicazioni a bassa latenza (accesso online).

Per creare il tuo database di analisi in tempo reale, puoi utilizzare BigQuery DataFrames, un insieme di librerie Python open source per l'elaborazione dei dati di BigQuery. BigQuery DataFrames ti consente di sviluppare e addestrare modelli in BigQuery e di replicare automaticamente una copia dei valori data più recenti utilizzati per i tuoi modelli di 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 aver compreso i seguenti documenti:

BigQuery DataFrames

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

  • Sviluppare trasformazioni dei dati in un'interfaccia compatibile con Pandas (bigframes.pandas) direttamente sui dati di BigQuery
  • Addestrare i 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 package BigQuery DataFrames. Ti consente di creare un oggetto StreamingDataFrame che può essere utilizzato per generare un job in esecuzione continua che trasmette in streaming i dati da una tabella BigQuery designata in Bigtable per la pubblicazione online. Ciò viene fatto generando query continue BigQuery.

Un BigFrames StreamingDataFrame può:

  • Creare un StreamingDataFrame da una tabella BigQuery designata
  • Facoltativamente, esegui altre operazioni Pandas come selezionare, filtrare e visualizzare l'anteprima dei contenuti
  • Crea e gestisci job di streaming in Bigtable

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per utilizzare i DataFrame di BigQuery 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 la versione più recente, 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 codice di esempio 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 eventuali modifiche ai dati in Bigtable.

Costi

Non sono previsti addebiti aggiuntivi per l'utilizzo dell'API BigQuery BigFrames, ma ti verranno addebitati gli importi relativi alle risorse sottostanti utilizzate per le query continue, Bigtable e BigQuery.

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

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

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

Limitazioni

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

Passaggi successivi