Esegui query sui dati di GitHub utilizzando BigQuery

BigQuery è il database di analisi NoOps a basso costo e completamente gestito di Google. Con BigQuery puoi interrogare 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 le risorse utilizzate. BigQuery permette di concentrarsi sull'analisi dei dati per trovare informazioni significative.

In questo lab vedremo come eseguire query sul set di dati pubblici GitHub, uno dei tanti set di dati pubblici disponibili su BigQuery.

Cosa imparerai a fare

  • Utilizzo di BigQuery
  • 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

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'UI 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 prendi nota dell'ID progetto.


    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.

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.

Apri l'editor di query.

inserisci questa query per trovare i messaggi di commit più comuni nel set di dati pubblico 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.

Fai clic sul pulsante Esegui query.

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

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, pertanto 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.

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

Ad esempio, questa query trova progetti popolari ritirati o non 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 su BigQuery. Ad esempio, il set di dati GitHub Archive può essere utilizzato per analizzare gli eventi pubblici su GitHub, come richieste di pull, stelle dei repository e problemi aperti. Il set di dati PyPI della Python Software Foundation può essere utilizzato per analizzare le richieste di download dei pacchetti Python.

Hai utilizzato BigQuery e SQL per eseguire query sul set di dati pubblici di 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ù