usar o BigQuery para consultar dados do GitHub

1. Introdução

O BigQuery é um banco de dados de análise de baixo custo e totalmente gerenciado do Google. Com ele, é possível consultar terabytes de dados sem precisar de um administrador de banco de dados ou de qualquer infraestrutura para gerenciar. O BigQuery usa um SQL conhecido e um modelo de cobrança com base no uso. Assim, você pode se concentrar na análise dos dados para encontrar informações relevantes.

Neste codelab, você vai aprender a consultar o conjunto de dados público do GitHub, um dos vários conjuntos de dados públicos disponíveis no BigQuery (links em inglês).

O que você vai aprender

  • Como usar o BigQuery
  • Como escrever uma consulta para receber insights sobre um grande conjunto de dados

O que é necessário

  • um projeto do Google Cloud;
  • Um navegador, como o Chrome ou o Firefox

2. Começar a configuração

Ativar o BigQuery

Se você ainda não tem uma Conta do Google (Gmail ou Google Apps), crie uma.

  • Faça login no console do Google Cloud Platform ( console.cloud.google.com) e acesse o BigQuery. Também é possível abrir a IU da Web do BigQuery digitando o URL a seguir no seu navegador.
https://console.cloud.google.com/bigquery
  • Aceite os Termos de Serviço.
  • Antes de usar o BigQuery, você precisa criar um projeto. Siga as instruções dos prompts para criar um novo projeto.

Escolha um nome e anote o ID do projeto. 5dHf3myqCTd3rm-fowZ_aU3An-T_NTgNnIZtQILio27us0xB3StjnSNnQraAnllEQCH4N2nMwLU1mnELwbNN85tbwNC_DbIdbxU8ufzJYW1MWpYu0hnbSrAajpAaRNs8UBeWFu68Aw

O código do projeto é um nome exclusivo em todos os projetos do Google Cloud. Faremos referência a ele mais adiante neste codelab como PROJECT_ID.

Este codelab usa recursos do BigQuery com os limites do sandbox do BigQuery. Não é necessário ter uma conta de faturamento. Se mais tarde você quiser remover os limites do sandbox, é possível adicionar uma conta de faturamento inscrevendo-se no teste sem custo financeiro do Google Cloud Platform.

3. Visualizar dados do GitHub

Abra o conjunto de dados do GitHub na IU da Web do BigQuery.

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

Confira uma prévia rápida dos dados.

ed0b9fce5eab1c6b.png

4. Consultar dados do GitHub

Abra o editor de consultas.

759423d320075d96.png

Digite a seguinte consulta para encontrar as mensagens de confirmação mais comuns no conjunto de dados público do 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

Como o conjunto de dados do GitHub é grande, é útil usar um conjunto de dados de amostra menor durante os experimentos para economizar custos. Use os bytes processados abaixo do editor para estimar o custo da consulta.

fb66b7e9c6e838c.png

Clique no botão Executar.

Em alguns segundos, o resultado será listado na parte inferior e informará quantos dados foram processados e quanto tempo demorou.

3ce1a59763d0dab5.png

Embora a tabela sample_commits tenha 2,49 GB, a consulta processou apenas 35,8 MB. O BigQuery só processa os bytes das colunas usadas na consulta. Por isso, a quantidade total de dados processados pode ser significativamente menor que o tamanho da tabela. Com clustering e particionamento, é possível reduzir ainda mais a quantidade de dados processados.

5. Mais dados públicos

Agora tente consultar outro conjunto de dados, como um dos outros conjuntos de dados públicos.

Por exemplo, a consulta a seguir encontra projetos conhecidos, descontinuados ou que tiveram a manutenção no conjunto de dados público do Livraries.io, que ainda são usados como dependência em outros projetos:

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

Outras organizações também disponibilizaram publicamente os dados no BigQuery. Por exemplo, o conjunto de dados GH Archive do GitHub (em inglês) pode ser usado para analisar eventos públicos no GitHub, como solicitações de envio, estrelas de repositório e problemas abertos. O conjunto de dados PyPI da Python Software Foundation pode ser usado para analisar solicitações de download de pacotes Python.

6. Parabéns!

Você usou o BigQuery e o SQL para consultar o conjunto de dados público do GitHub. Você tem o poder de consultar conjuntos de dados em escala de petabytes.

Conteúdo abordado

  • Como usar a sintaxe do SQL para consultar registros de confirmação do GitHub
  • Escrever uma consulta para receber insights sobre um grande conjunto de dados

Saiba mais