Usa BigQuery per eseguire query sui dati GitHub

1. Introduzione

BigQuery è il database di analisi a basso costo e completamente gestito di Google. Con BigQuery, puoi eseguire query su terabyte di dati senza aver bisogno di un amministratore del database o di un'infrastruttura da gestire. BigQuery utilizza il noto SQL e un modello di addebito che prevede il pagamento solo per l'utilizzo. Inoltre, ti permette di concentrarti sull'analisi dei dati per trovare insight significativi.

In questo codelab, vedrai come eseguire query sul set di dati pubblico GitHub, uno dei tanti set di dati pubblici disponibili in BigQuery.

Cosa imparerai a fare

  • Come utilizzare BigQuery
  • Come scrivere una query per ottenere informazioni dettagliate su un set di dati di grandi dimensioni

Che cosa ti serve

  • Un progetto Google Cloud
  • Un browser, ad esempio Chrome o Firefox

2. Configurazione

Attivare BigQuery

Se non hai ancora un Account Google (Gmail o Google Apps), devi crearne uno.

  • Accedi alla console Google Cloud ( console.cloud.google.com) e vai a BigQuery. Puoi anche aprire l'interfaccia utente web di BigQuery direttamente inserendo il seguente URL nel browser.
https://console.cloud.google.com/bigquery
  • Accetta i Termini di servizio.
  • Prima di poter utilizzare BigQuery, devi creare un progetto. Segui le istruzioni per creare il nuovo progetto.

Scegli un nome per il progetto e annota l'ID progetto. 5dHf3myqCTd3rm-fowZ_aU3An-T_NTgNnIZtQILio27us0xB3StjnSNnQraAnllEQCH4N2nMwLU1mnELwbNN85tbwNC_DbIdbxU8ufzJYW1MWpYu0hnbSrAajpAaRNs8UBeWFu68Aw

L'ID progetto è un nome univoco tra tutti i progetti Google Cloud. In questo codelab verrà chiamato PROJECT_ID.

Questo codelab utilizza le risorse BigQuery entro i limiti della sandbox di BigQuery. Non è richiesto un account di fatturazione. Se in un secondo momento vuoi rimuovere i limiti della sandbox, puoi aggiungere un account di fatturazione registrandoti alla prova senza costi di Google Cloud.

3. Visualizzare l'anteprima dei dati di GitHub

Apri il set di dati GitHub nella UI web di BigQuery.

https://console.cloud.google.com/bigquery?p=bigquery-public-data&d=github_repos&t=commits&page=table

Visualizza una rapida anteprima dell'aspetto dei dati.

ed0b9fce5eab1c6b.png

4. Esegui query sui dati di GitHub

Apri l'editor di query.

759423d320075d96.png

Inserisci la seguente query per trovare i messaggi di commit più comuni nel set di dati pubblico di GitHub:

SELECT subject AS subject,
  COUNT(*) AS num_duplicates
FROM `bigquery-public-data.github_repos.sample_commits`
GROUP BY subject
ORDER BY num_duplicates DESC
LIMIT 100

Poiché il set di dati GitHub è di grandi dimensioni, è utile utilizzare un set di dati di esempio più piccolo durante la sperimentazione per risparmiare sui costi. Utilizza i byte elaborati sotto l'editor per stimare il costo della query.

fb66b7e9c6e838c.png

Fai clic sul pulsante Esegui.

In pochi secondi, il risultato verrà visualizzato in basso e ti indicherà la quantità di dati elaborati e il tempo impiegato.

3ce1a59763d0dab5.png

Anche se la tabella sample_commits è di 2,49 GB, la query ha elaborato solo 35,8 MB. BigQuery elabora solo i byte delle colonne utilizzate nella query, quindi la quantità totale di dati elaborati può essere notevolmente inferiore alle dimensioni della tabella. Con il clustering e il partizionamento, la quantità di dati elaborati può essere ridotta ulteriormente.

5. Altri dati pubblici

Ora prova a eseguire una query su un altro set di dati, ad esempio uno degli altri set di dati pubblici.

Ad esempio, la seguente query trova progetti popolari ritirati o non più gestiti nel set di dati pubblico Libraries.io che vengono ancora utilizzati come dipendenza in altri progetti:

SELECT
  name,
  dependent_projects_count,
  language,
  status
FROM
  `bigquery-public-data.libraries_io.projects_with_repository_fields`
WHERE status IN ('Deprecated', 'Unmaintained')
ORDER BY dependent_projects_count DESC
LIMIT 100

Anche altre organizzazioni hanno reso disponibili pubblicamente i propri dati in BigQuery. Ad esempio, il set di dati GH Archive di GitHub può essere utilizzato per analizzare gli eventi pubblici su GitHub, come le richieste di pull, le stelle dei repository e i problemi aperti. Il set di dati PyPI della Python Software Foundation può essere utilizzato per analizzare le richieste di download dei pacchetti Python.

6. Complimenti!

Hai utilizzato BigQuery e SQL per eseguire query sul set di dati pubblico GitHub. Hai la possibilità di eseguire query su set di dati dell'ordine dei petabyte.

Argomenti trattati

  • Utilizzo della sintassi SQL per eseguire query sui record di commit di GitHub
  • Scrivere una query per ottenere informazioni dettagliate su un set di dati di grandi dimensioni

Scopri di più