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 bisogno di un amministratore di database o di alcuna infrastruttura da gestire. BigQuery utilizza un ambiente SQL familiare e un modello di addebito basato sul solo pagamento a consumo. BigQuery permette di concentrarsi sull'analisi dei dati per trovare informazioni significative.

In questo codelab, scoprirai 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 insight 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

Abilitare BigQuery

Se non disponi già di un account Google (Gmail o Google Apps), devi crearne uno.

  • Accedi alla console della piattaforma Google Cloud ( console.cloud.google.com) e vai a BigQuery. Puoi anche aprire direttamente la UI web di BigQuery inserendo il seguente URL nel tuo 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. 5dHf3myqCTd3rm-fowZ_aU3An-T_NTgNnIZtQILio27us0xB3StjnSNnQraAnllEQCH4N2nMwLU1mnELwbNN85tbwNC_DbIdbxU8ufzJYW1MWpYu0hnbSrAajpAaRNs8UBeWFu68Aw

L'ID progetto è un nome univoco tra tutti i progetti Google Cloud. Verrà indicato più avanti in questo codelab come 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 Platform.

3. Visualizza 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 GitHub

Apri l'editor query.

759423d320075d96.png

Inserisci la seguente 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

Dato che il set di dati GitHub è grande, è utile utilizzare un set di dati di esempio più piccolo durante la sperimentazione per risparmiare sui costi. Usa i byte elaborati sotto l'editor per stimare il costo delle query.

fb66b7e9c6e838c.png

Fai clic sul pulsante Esegui.

Nel giro di pochi secondi, il risultato sarà elencato in basso e indicherà quanti dati sono stati elaborati e quanto tempo è stato necessario.

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 a quella della tabella. Con il clustering e il partizionamento, la quantità di dati elaborati può essere ulteriormente ridotta.

5. Altri dati pubblici

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

Ad esempio, la seguente query trova progetti deprecati o non gestiti più popolari nel set di dati pubblico Libraries.io 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 eventi pubblici su GitHub, come richieste di pull, stelle del repository e problemi aperti. Per analizzare le richieste di download per i pacchetti Python, puoi utilizzare il set di dati PyPI della Python Software Foundation.

6. Complimenti!

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

Argomenti trattati

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

Scopri di più