Usa BigQuery para consultar datos de GitHub

1. Introducción

BigQuery es la base de datos analítica de bajo costo y completamente administrada de Google. Con BigQuery, puedes consultar terabytes de datos sin necesidad de un administrador de base de datos o cualquier infraestructura para administrar. BigQuery utiliza el conocido SQL y un modelo de cobro de pago por lo que usas. BigQuery te permite enfocarte en el análisis de datos para buscar estadísticas valiosas.

En este codelab, verás cómo consultar el conjunto de datos públicos de GitHub, uno de los numerosos conjuntos de datos públicos disponibles en BigQuery.

Qué aprenderás

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

Requisitos

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

2. Prepárate

Habilitar BigQuery

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

  • Accede a la consola de Google Cloud Platform ( 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.
  • Antes de poder usar BigQuery, debes crear un proyecto. Sigue las indicaciones para crear un proyecto nuevo.

Elige un nombre de proyecto y toma nota del ID del proyecto. 5dHf3myqCTd3rm-fowZ_aU3An-T_NTgNnIZtQILio27us0xB3StjnSNnQraAnllEQCH4N2nMwLU1mnELwbNN85tbwNC_DbIdbxU8ufzJYW1MWpYu0hnbSrAajpAaRNs8UBeWFu68Aw

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 de la zona de pruebas, puedes registrarte para la prueba gratuita de Google Cloud Platform para agregar una cuenta de facturación.

3. Obtén una vista previa de los datos de GitHub

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 del aspecto de los datos.

ed0b9fce5eab1c6b.png

4. Consulta datos de GitHub

Abre el editor de consultas.

759423d320075d96.png

Ingresa la siguiente 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 se experimenta para ahorrar costos. Usa los bytes procesados debajo del editor para estimar el costo de la consulta.

fb66b7e9c6e838c.png

Haz clic en el botón Ejecutar.

Al cabo de unos segundos, el resultado aparecerá en la parte inferior y te dirá cuántos datos se procesaron y cuánto tiempo llevó.

3ce1a59763d0dab5.png

Aunque la tabla sample_commits es de 2.49 GB, la consulta solo procesó 35.8 MB. BigQuery solo procesa los bytes de las columnas usadas 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 la partición, la cantidad de datos procesados puede reducirse aún más.

5. Más datos públicos

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

Por ejemplo, la siguiente consulta encuentra proyectos populares obsoletos o que no se mantienen en el conjunto de datos públicos Libraries.io que todavía 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 han puesto sus datos a disposición del público en BigQuery. Por ejemplo, se puede usar el conjunto de datos de archivos de GH de GitHub para analizar eventos públicos en GitHub, como solicitudes de extracción, estrellas de repositorios y problemas abiertos. Se puede usar el conjunto de datos PyPI de Python Software Foundation para analizar las solicitudes de descarga de paquetes de Python.

6. ¡Felicitaciones!

Utilizaste BigQuery y SQL para consultar el conjunto de datos públicos de GitHub. Tienes el poder de consultar conjuntos de datos a escala de petabytes.

Temas abordados

  • Usa la sintaxis de SQL para consultar registros de confirmación de GitHub
  • Escribir una consulta para obtener información sobre un conjunto de datos grande

Más información