Consulta datos de GitHub con BigQuery

BigQuery es la base de datos analítica de bajo costo, no-ops y completamente administrada de Google. Con BigQuery, puedes consultar terabytes de datos sin necesidad de un administrador de base de datos ni de administrar ninguna infraestructura. BigQuery usa el lenguaje SQL conocido y un modelo de cobro en el que solo pagas por lo que usas. BigQuery te permite enfocarte en el análisis de datos para buscar estadísticas valiosas.

En este lab, veremos cómo consultar el conjunto de datos públicos de GitHub, uno de los muchos conjuntos de datos públicos disponibles en BigQuery.

Qué aprenderás

  • Usar BigQuery
  • Cómo escribir una consulta para obtener estadísticas sobre un gran conjunto de datos

Requisitos

  • Un proyecto de Google Cloud Platform
  • Un navegador, como Chrome o Firefox

Habilita BigQuery

Si aún no tienes una Cuenta de Google (Gmail o Google Apps), debes crear una.

  • Accede a Google Cloud Platform Console (console.cloud.google.com) y navega a BigQuery. También puedes abrir la IU web de BigQuery directamente si ingresas la siguiente URL en tu navegador.
https://console.cloud.google.com/bigquery
  • Acepta las Condiciones del Servicio.
  • Para poder usar BigQuery, debes crear un proyecto. Sigue las instrucciones para crear tu proyecto nuevo.

    Elige un nombre para el proyecto y anota el ID del proyecto.


    El ID del proyecto es un nombre único en todos los proyectos de Google Cloud. Se mencionará más adelante en este codelab como PROJECT_ID.

En este codelab, se usan recursos de BigQuery dentro de los límites de la zona de pruebas de BigQuery. No se requiere una cuenta de facturación. Si más adelante deseas quitar los límites del entorno de pruebas, puedes agregar una cuenta de facturación registrándote en la prueba gratuita de Google Cloud Platform.

Abre el conjunto de datos de GitHub en la IU web de BigQuery.

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

Obtén una vista previa rápida de cómo se ven los datos.

Abre el Editor de consultas.

Ingresa esta consulta para encontrar los mensajes de confirmación más comunes en el conjunto de datos públicos de 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

Dado que el conjunto de datos de GitHub es grande, es útil usar un conjunto de datos de muestra más pequeño mientras experimentas para ahorrar costos. Usa los bytes procesados que se encuentran debajo del editor para estimar el costo de la consulta.

Haz clic en el botón Ejecutar consulta.

En unos segundos, el resultado aparecerá en la parte inferior y también te indicará cuántos datos se procesaron y cuánto tiempo tardó:

A pesar de que la tabla sample_commits tiene un tamaño de 2.49 GB, la consulta solo procesó 35.8 MB. BigQuery solo procesa los bytes de las columnas que se usan en la consulta, por lo que la cantidad total de datos procesados puede ser significativamente menor que el tamaño de la tabla. Con el agrupamiento en clústeres y el particionamiento, la cantidad de datos procesados se puede reducir aún más.

Ahora intenta consultar otro conjunto de datos, como uno de los otros conjuntos de datos públicos.

Por ejemplo, esta consulta encuentra proyectos populares que están obsoletos o que no se mantienen en el conjunto de datos públicos de Libraries.io y que aún se usan como dependencia en otros proyectos.

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

Otras organizaciones también pusieron sus datos a disposición del público en BigQuery. Por ejemplo, el conjunto de datos de GitHub Archive se puede usar para analizar eventos públicos en GitHub, como solicitudes de extracción, estrellas de repositorios y problemas abiertos. El conjunto de datos de PyPI de Python Software Foundation se puede usar para analizar las solicitudes de descarga de paquetes de Python.

Usaste BigQuery y SQL para consultar el conjunto de datos públicos de GitHub. Tienes la capacidad de consultar conjuntos de datos a escala de petabytes.

Temas abordados

  • Cómo usar la sintaxis de SQL para consultar registros de confirmaciones de GitHub
  • Cómo escribir una consulta para obtener estadísticas sobre un gran conjunto de datos

Más información