Strumenti di analisi programmatica

Questo documento descrive diversi modi per scrivere ed eseguire il codice analizzare i dati gestiti in BigQuery.

Sebbene SQL sia un linguaggio di query molto potente, i linguaggi di programmazione come Python, Java o R forniscono sintassi e un ampio array di dati statistici integrati funzioni che gli analisti di dati potrebbero trovare più espressive e più facili da manipolare per alcuni tipi di analisi dei dati.

Analogamente, sebbene i fogli di lavoro siano ampiamente utilizzati, a volte altri ambienti di programmazione come i notebook possono offrire un ambiente più flessibile per eseguire analisi ed esplorazioni di dati complessi.

Blocchi note Colab Enterprise

Puoi utilizzare i blocchi note di Colab Enterprise in BigQuery per completare per l'analisi e il machine learning (ML) utilizzando SQL, Python e le API e i pacchetti comuni. Notebooks offrono collaborazione e gestione migliori con le seguenti opzioni:

  • Condividi i notebook con utenti e gruppi specifici utilizzando Identity and Access Management (IAM).
  • Esamina la cronologia delle versioni del blocco note.
  • Ripristina o ramifica dalle versioni precedenti del blocco note.

Notebooks sono BigQuery Studio asset di codice basati su Dataform. Anche le query salvate sono asset di codice. Tutti gli asset di codice vengono archiviati in un region. L'aggiornamento della regione predefinita modifica la regione per tutti gli asset di codice creati in seguito.

Le funzionalità di blocco note sono disponibili solo nella console Google Cloud.

Notebooks in BigQuery offrono i seguenti vantaggi:

  • BigQuery DataFrames è integrato nei notebook e non richiede configurazione. BigQuery DataFrames è un modello Python che puoi utilizzare per analizzare i dati BigQuery su larga scala utilizzando i panda DataFrame e le API scikit-learn.
  • Sviluppo di codice di assistenza basato sull'IA generativa di Gemini.
  • Possibilità di salvare, condividere e gestire le versioni dei blocchi note.
  • La possibilità di utilizzare matplotlib, seaborn e altri modelli librerie per visualizzare i dati in qualsiasi momento del flusso di lavoro.

DataFrame BigQuery

DataFrame BigQuery un insieme di librerie Python open source che ti consente di sfruttare Elaborazione dei dati in BigQuery mediante API Python note. BigQuery DataFrames implementa le API pandas e scikit-learn e il push dell'elaborazione in BigQuery tramite la conversione SQL. Questo design consente di utilizzare BigQuery per esplorare ed elaborare terabyte di e addestrare i modelli ML, il tutto con le API Python.

BigQuery DataFrames offre i seguenti vantaggi:

  • Più di 750 API panda e scikit-learn implementate tramite la conversione SQL trasparente in BigQuery le API di BigQuery ML.
  • Esecuzione differita delle query per prestazioni migliorate.
  • Estendere le trasformazioni dei dati con funzioni Python definite dall'utente Elabora i dati nel cloud. Queste funzioni sono con deployment automatico funzioni remote.
  • Integrazione con Vertex AI per consentire l'utilizzo dei modelli Gemini per il testo di classificazione.

Altre soluzioni di analisi programmatica

Le seguenti soluzioni di analisi programmatica sono disponibili anche in in BigQuery.

Blocchi note Jupyter

Jupyter è un'applicazione open source basata sul web per pubblicare blocchi note che contengono codice attivo, descrizioni testuali e visualizzazioni. Data scientist, specialisti di machine learning e studenti la usiamo abitualmente per attività come la pulizia e la trasformazione dei dati, simulazione numerica, modellazione statistica, visualizzazione dei dati ed ML.

I blocchi note Jupyter sono basati su IPython una potente shell interattiva, che può interagire direttamente BigQuery utilizzando IPython Magics per BigQuery. In alternativa, puoi anche accedere a BigQuery dalle istanze Jupyter Notebook installando una delle librerie client BigQuery disponibili. Puoi visualizzare GIS BigQuery con i blocchi note Jupyter Estensione GeoJSON. Per ulteriori dettagli sull'integrazione di BigQuery, guarda il tutorial Visualizzazione dei dati di BigQuery in un blocco note Jupyter.

Grafico a blocchi Jupyter che mostra una visualizzazione dei dati GIS di BigQuery.

JupyterLab è un'interfaccia utente basata sul web per la gestione di documenti e attività quali blocchi note, editor di testo, terminali e componenti personalizzati Jupyter. Con JupyterLab, puoi organizzare più documenti e attività uno accanto all'altro nell'area di lavoro usando schede e separatori.

JupyterLab: utilizzo di schede e suddivisioni per disporre più documenti e attività uno accanto all'altro nell'area di lavoro.

Puoi eseguire il deployment di blocchi note Jupyter e ambienti JupyterLab su Google Cloud utilizzando uno dei seguenti prodotti:

Apache Zeppelin

Apache Zeppelin è un progetto open source che offre blocchi note basati sul web per l'analisi dei dati. Puoi eseguire il deployment di un'istanza di Apache Zeppelin su Dataproc installando il componente facoltativo Zeppelin. Per impostazione predefinita, i blocchi note vengono salvati in Cloud Storage nella Bucket gestione temporanea Dataproc, specificato dall'utente oppure vengono creati automaticamente quando viene creato il cluster. Puoi modificare la posizione del blocco note aggiungendo la proprietà zeppelin:zeppelin.notebook.gcs.dir quando crei in un cluster Kubernetes. Per ulteriori informazioni sull'installazione e la configurazione di Apache Zeppelin, vedi il Guida ai componenti di Zeppelin. Per un esempio, vedi Analisi dei set di dati BigQuery utilizzando BigQuery Interpreter per Apache Zeppelin.

Analisi SQL dei dati della tabella, mostrata in Zeppelin.

Apache Hadoop, Apache Spark e Apache Hive

Per parte della migrazione della pipeline di analisi dei dati, ti consigliamo di eseguire un po' di legacy Apache Hadoop, Apache Spark, o Apache Hive job che devono elaborare direttamente i dati dal tuo data warehouse. Ad esempio: potresti estrarre caratteristiche per i carichi di lavoro di machine learning.

Dataproc consente di eseguire il deployment di cluster Hadoop e Spark completamente gestiti in modo efficiente e conveniente. Dataproc si integra con connettori BigQuery open source. Questi connettori utilizzano l'API BigQuery Storage, che trasmette i dati in streaming in parallelo direttamente da BigQuery tramite gRPC.

Quando esegui la migrazione dei carichi di lavoro Hadoop e Spark esistenti a Dataproc, puoi verificare che le dipendenze dei carichi di lavoro siano coperte dalle versioni di Dataproc supportate. Se devi installare software personalizzato, valuta creando una tua immagine Dataproc, scrivendo la tua azioni di inizializzazione, o specificando i requisiti del pacchetto Python personalizzato.

Per iniziare, consulta le guide di avvio rapido di Dataproc e gli esempi di codice del connettore BigQuery.

Apache Beam

Apache Beam è un framework open source che fornisce un ampio insieme di primitive per il windowing e l'analisi delle sessioni, nonché un ecosistema di connettori di origine e sink, tra cui un connettore per BigQuery. Apache Beam consente di trasformare e arricchire i dati sia in modalità flusso (in tempo reale) che modalità batch (storiche) con affidabilità ed espressività uguali.

Dataflow è un servizio completamente gestito per l'esecuzione di job Apache Beam su larga scala. L'approccio serverless di Dataflow elimina l'overhead operativo con prestazioni, scalabilità, disponibilità, sicurezza e conformità automaticamente in modo che tu possa concentrarti sulla programmazione anziché sulla gestione cluster.

Grafico di esecuzione con una trasformazione composita espansa (MakeMapView). La sottotrasformazione che crea l'input aggiuntivo (CreateDataflowView) è selezionata e le metriche di input laterale vengono mostrate nella scheda Passaggio.

Puoi inviare job Dataflow in diversi modi, tramite il interfaccia a riga di comando, il SDK Java, o il SDK Python.

Se vuoi eseguire la migrazione delle query e delle pipeline di dati da altri framework ad Apache Beam e Dataflow, consulta il modello di programmazione Apache Beam e la documentazione ufficiale di Dataflow.

RStudio

I data scientist spesso utilizzano Linguaggio di programmazione R per creare strumenti di analisi dei dati e app statistiche. RStudio sviluppa strumenti gratuiti e aperti per la R e prodotti professionali di livello enterprise per consentire ai team di scalare e condividere il lavoro. I prodotti di RStudio, come RStudio Server Pro, semplificano l'analisi dei dati con R e forniscono strumenti efficaci per la pubblicazione e la condivisione.

RStudio Server Pro è un prodotto integrato on demand con licenza commerciale di sviluppo software (IDE). Offre le funzionalità offerte IDE open source RStudio più comodità, sicurezza avanzata, capacità per gestire più versioni R e sessioni e altro ancora.

Puoi eseguire il deployment RStudio Server Pro per Google Cloud di Cloud Marketplace. Questa versione è identica a RStudio Server Pro, ma con maggiore praticità per i data scientist, tra cui preinstallazione di più versioni delle librerie di sistema R e di sistemi comuni. Inoltre, include bigrquery, il pacchetto BigQuery per R, che fornisce DBI e dplyr che ti consentono di interagire con BigQuery utilizzando verbi SQL o Dplyr di alto livello. Questo pacchetto semplifica il lavoro con i dati memorizzati in BigQuery consentendoti di eseguire query sulle tabelle BigQuery e di recuperare i metadati relativi a progetti, set di dati, tabelle e job. Per ulteriori informazioni, consulta la guida ufficiale su Introduzione a RStudio Server Pro per Google Cloud e ai Domande frequenti su RStudio Server Pro per Google Cloud.

Puoi anche installare la versione open source di RStudio Server su un cluster Dataproc. Un vantaggio di RStudio su Dataproc è che puoi adottare vantaggio di Scalabilità automatica di Dataproc. Con la scalabilità automatica, puoi avere una dimensione minima del cluster durante lo sviluppo della logica SparkR. Dopo aver inviato il job per l'elaborazione su larga scala, dover fare qualcosa di diverso o preoccuparti di modificare il server. Dopo aver inviato il job SparkR a RStudio, il cluster Dataproc si ridimensiona per soddisfare le esigenze del job entro gli intervalli impostati. Per ulteriori informazioni sull'integrazione di RStudio con Dataproc, consulta le annuncio ufficiale.

Altre risorse

BigQuery offre un'ampia gamma di librerie client in più linguaggi di programmazione come Java, Go, Python, JavaScript, PHP Ruby. Alcuni framework di analisi dei dati, come panda fornire plug-in che interagiscono direttamente con BigQuery. Per alcuni suggerimenti pratici vedi gli esempi Visualizzare i dati di BigQuery in un blocco note Jupyter durante il tutorial.

Infine, se preferisci scrivere programmi in un ambiente shell, puoi utilizzare il comando strumento a riga di comando bq.