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:
- 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 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
- Guida introduttiva a Feast on Google Cloud
- Semplificazione dello sviluppo del machine learning con Feast
- Esegui query sui dati di Bigtable archiviati in una tabella esterna.
- Esportare i dati da BigQuery in Bigtable.