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.

Allo stesso modo, mentre i fogli di lavoro sono ampiamente utilizzati, altri ambienti di programmazione come i blocchi note, a volte possono offrire un ambiente più flessibile analisi ed esplorazione 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 migliorano la collaborazione e la gestione con le seguenti opzioni:

  • Condividi i blocchi note 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. Aggiornamento delle modifiche alla regione predefinita in corso... la regione per tutti gli asset di codice creati successivamente.

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

Notebooks in BigQuery offrono i seguenti vantaggi:

  • BigQuery DataFrames è integrato in blocchi note e non richiede alcuna 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 assistivo del codice basato su AI 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 migliorare le prestazioni.
  • 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 dal tuo account di blocchi note installando una delle istanze Librerie client di BigQuery. Puoi visualizzare GIS di 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 Dataproc installando Componente facoltativo di 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 invia i flussi di dati in parallelo direttamente da BigQuery attraverso e gRPC.

Quando esegui la migrazione dei carichi di lavoro Hadoop e Spark esistenti a Dataproc, puoi verificare che i tuoi carichi di lavoro le dipendenze sono coperta dal modello Versioni di Dataproc. 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 Guide rapide per Dataproc e ai Esempi di codice del connettore BigQuery.

Apache Beam

Apache Beam è un framework open source che offre un ricco set di windowing e sessioni di analisi, nonché un ecosistema di connettori di origine e sink, tra cui un 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 di query sui dati e pipeline da altri framework a Apache Beam e Dataflow, scopri di più Modello di programmazione Apache Beam e sfoglia la scheda Documentazione 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 RStudio, come RStudio Server Pro, semplificare l'analisi dei dati con R e fornire potenti strumenti per la pubblicazione 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 di R e delle librerie di sistema 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 l'utilizzo dei dati archiviati in BigQuery, consentendoti di eseguire query le tabelle BigQuery e recuperare i metadati sui tuoi 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 Server RStudio 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 la 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 invia il tuo job SparkR a RStudio, il cluster Dataproc scalare per soddisfare le esigenze del tuo job entro gli intervalli impostati. Per maggiori 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.