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:
- Panoramica di Bigtable
- Panoramica di BigQuery
- Creare un database di analisi in tempo reale con Bigtable e BigQuery
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
- Guida introduttiva a Feast Google Cloud
- Semplificare lo sviluppo di ML con Feast
- Esegui query sui dati Bigtable archiviati in una tabella esterna.
- Esportare i dati da BigQuery a Bigtable.