Strumenti e funzionalità per gli sviluppatori

Questo documento fornisce una panoramica di alcune delle funzionalità e degli strumenti che ti aiutano a sviluppare soluzioni con BigQuery.

Diagramma dell'architettura di BigQuery.

Funzionalità per sviluppatori

Questa sezione descrive alcune funzionalità integrate comuni per gli sviluppatori che utilizzano BigQuery.

Carica e trasforma i dati

BigQuery offre modi per caricare in batch, in streaming e generare nuovi dati. Per scegliere l'opzione migliore per il tuo caso d'uso, consulta Introduzione al caricamento dei dati.

Query

BigQuery è ottimizzato per eseguire query analitiche scritte in GoogleSQL su set di dati di grandi dimensioni. Puoi pianificare, salvare e condividere query eseguite sui dati archiviati in BigQuery, dati esterni, dati archiviati in altri cloud o set di dati pubblici.

Funzioni remote

Puoi utilizzare funzioni remote per eseguire il deployment delle funzioni in funzioni Cloud Run o Cloud Run, quindi richiamarle direttamente dalle query GoogleSQL. Questo approccio è particolarmente utile se devi implementare le funzioni in linguaggi diversi da SQL o JavaScript. Puoi utilizzare le funzioni remote per molte operazioni, ad esempio tradurre il testo in una tabella da un linguaggio all'altro, avviare azioni come inviare una notifica quando i valori in una tabella scendono al di sotto di una soglia o eseguire trasformazioni collettive come l'applicazione di un modello di machine learning (ML).

Machine learning

Puoi utilizzare BigQuery ML per creare ed eseguire modelli ML utilizzando query GoogleSQL.

Stored procedure SQL

Puoi utilizzare le stored procedure SQL per chiamare raccolte di istruzioni da altre query o stored procedure. Puoi chiamare le procedure memorizzate integrate o scriverne di tue, che ti consentono di definire variabili e implementare il flusso di controllo.

e semistrutturati

Puoi utilizzare i dati JSON in GoogleSQL per importare dati semistrutturati in BigQuery senza fornire preliminarmente uno schema. Puoi utilizzare l'operatore di accesso ai campi per eseguire query direttamente sui valori di campi ed elementi di array.

Viaggio nel tempo

Puoi utilizzare il viaggio nel tempo per accedere ai dati archiviati in BigQuery che sono stati modificati o eliminati in qualsiasi momento negli ultimi sette giorni. Questa funzionalità ti consente di ripristinare le tabelle aggiornate, eliminate o scadute anche se non hai eseguito il backup dei dati.

Snapshot delle tabelle

Puoi utilizzare gli snapshot delle tabelle quando devi eseguire il backup della tabella da un punto nel tempo successivo alla finestra di viaggio nel tempo. BigQuery archivia solo i byte diversi tra uno snapshot e la relativa tabella di base, pertanto uno snapshot della tabella in genere utilizza meno spazio di archiviazione rispetto a una copia completa della tabella.

Cloni di tabelle

Puoi utilizzare i cloni di tabelle per eseguire il versionamento delle tabelle e testare le modifiche allo schema delle tabelle. Un clone di tabella è una copia leggera e modificabile di un'altra tabella. Ti vengono addebitati solo i costi di archiviazione dei dati nella tabella clonata che differiscono dalla tabella di base, quindi inizialmente non è previsto alcun costo di archiviazione per una tabella clonata.

Tabelle esterne

Puoi eseguire query sulle tabelle esterne direttamente da BigQuery, ad esempio sui dati di un altro database Google Cloud, sui file in Cloud Storage o in un altro prodotto cloud. Questa funzionalità consente di eseguire carichi di lavoro ELT con una singola query o di unire tabelle BigQuery con dati che cambiano spesso di un'altra origine.

Funzioni definite dall'utente

Puoi scrivere funzioni definite dall'utente (UDF) in GoogleSQL o JavaScript che possono essere riutilizzate nelle query. Puoi autorizzare una UDF come routine, in modo da condividere i risultati di query con utenti o gruppi specifici senza concedere a questi utenti o gruppi l'accesso alle tabelle sottostanti.

API BigQuery

BigQuery offre API REST e gRPC per interfacciarsi in modo programmatico con i suoi diversi tipi di servizi. Puoi authenticate l'identità del tuo cliente per accedere alle API utilizzando account di servizio o account utente. Sono disponibili le seguenti API:

Per ulteriori informazioni sulle funzionalità di ciascuna API, consulta la panoramica delle API e delle librerie BigQuery.

Libreria BigQuery DataFrames

BigQuery DataFrames è un'API Python che puoi utilizzare per analizzare i dati ed eseguire attività di machine learning in BigQuery. Puoi controllare il codice sorgente dell'API su GitHub.

Inizia a utilizzare BigQuery DataFrames utilizzando la guida introduttiva a BigQuery DataFrames.

Librerie client

Le librerie client ti consentono di accedere direttamente alle API BigQuery utilizzando il tuo linguaggio di programmazione preferito, tra cui C#, Go, Java, Node.js, PHP, Python e Ruby. Per visualizzare queste risorse per l'API BigQuery, seleziona una delle seguenti lingue:

C#

Vai

Java

Node.js

PHP

Python

Ruby

Per ulteriori informazioni su come utilizzare le librerie client BigQuery nel tuo ambiente locale, consulta Librerie client dell'API BigQuery.

Esempi di codice

Puoi sfogliare gli esempi di codice BigQuery che forniscono snippet completi per svolgere attività comuni in BigQuery, come creare tabelle, elencare le connessioni, visualizzare gli impegni e le prenotazioni di capacità e caricare i dati. Per visualizzare un esempio, seleziona un'API, un'attività e la lingua che preferisci.

Strumenti e servizi programmatici

I seguenti servizi sono integrati con BigQuery e offrono funzionalità aggiuntive per la creazione di soluzioni:

  • Dataproc. Un servizio completamente gestito per l'esecuzione di job Apache Hadoop e Apache Spark. Dataproc fornisce il connettore BigQuery, che consente a Hadoop e Spark di elaborare direttamente i dati di BigQuery.
  • Dataflow. Un servizio completamente gestito per l'esecuzione di job Apache Beam su larga scala. Il connettore I/O BigQuery per Beam consente alle pipeline Beam di leggere e scrivere dati da e verso BigQuery.
  • Cloud Composer. Un servizio di orchestrazione del flusso di lavoro completamente gestito basato su Apache Airflow. Gli operatori BigQuery consentono ai flussi di lavoro Airflow di gestire set di dati e tabelle, eseguire query e convalidare i dati.
  • Pub/Sub. Un servizio di messaggistica asincrono e scalabile. Pub/Sub fornisce sottoscrizioni BigQuery per scrivere i messaggi in una tabella BigQuery esistente non appena vengono ricevuti.

Integrazione e deployment continui

Le seguenti opzioni ti aiutano a gestire e automatizzare il flusso di lavoro degli sviluppatori con BigQuery:

  • Modulo Terraform BigQuery. Un modulo per automatizzare l'istanziazione e il deployment dei set di dati e delle tabelle BigQuery.
  • Strumento a riga di comando bq. Uno strumento a riga di comando basato su Python per BigQuery.
  • Dataform. Un servizio che consente agli analisti di dati di sviluppare, testare, controllare la versione e pianificare flussi di lavoro SQL complessi per la trasformazione dei dati in BigQuery.
  • dbt. Un framework per aiutarti a orchestrare e implementare i flussi di lavoro, testare e catalogare i dati e riutilizzare parti di codice come macro.
  • Liquibase. Una soluzione di gestione delle modifiche dello schema di database che consente di rivedere e rilasciare le modifiche in modo rapido e sicuro dallo sviluppo alla produzione.

Driver ODBC e JDBC

I driver Open Database Connectivity (ODBC) e Java Database Connectivity (JDBC) ti consentono di scrivere applicazioni software indipendenti dal database in linguaggi di programmazione comuni per collegare BigQuery alla tua infrastruttura esistente. Per ulteriori informazioni e le release più recenti dei driver, consulta Driver ODBC e JDBC per BigQuery.

Passaggi successivi

  • Per ulteriori informazioni su eventi e risorse in programma per gli sviluppatori Google Cloud, visita lo Developer Center.
  • Per ulteriori informazioni su come altre aziende utilizzano Google Cloud, consulta Cloud di dati per gli ISV.
  • Per saperne di più sulle soluzioni partner convalidate che si integrano con BigQuery, consulta Google Cloud Ready - BigQuery.