usar o BigQuery para consultar dados do GitHub

1. Introdução

O BigQuery é um banco de dados de análise de baixo custo totalmente gerenciado pelo Google. Com o BigQuery, é possível consultar terabytes de dados sem precisar de um administrador de banco de dados ou de uma infraestrutura para gerenciar. O BigQuery usa SQL conhecido e um modelo de cobrança em que você paga apenas pelo que usa. 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 muitos conjuntos de dados públicos disponíveis no BigQuery.

O que você vai aprender

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

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, crie 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 dentro dos limites do sandbox do BigQuery. Não é necessário ter uma conta de faturamento. Se quiser remover os limites da sandbox depois, inscreva-se na avaliação sem custo financeiro do Google Cloud Platform para adicionar uma conta de faturamento.

3. Visualizar dados do GitHub

Abra o conjunto de dados do GitHub na interface 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 de como os dados aparecem.

ed0b9fce5eab1c6b.png

4. Consultar dados do GitHub

Abra o editor de consultas.

759423d320075d96.png

Insira a seguinte consulta para encontrar as mensagens de commit 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 testes 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 vai aparecer na parte de baixo, informando quantos dados foram processados e quanto tempo isso levou.

3ce1a59763d0dab5.png

Embora a tabela "sample_commits" tenha 2,49 GB, a consulta processou apenas 35,8 MB. O BigQuery processa apenas os bytes das colunas usadas na consulta. Portanto, a quantidade total de dados processados pode ser significativamente menor do que o tamanho da tabela. Com o clustering e o particionamento, a quantidade de dados processados pode ser ainda menor.

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 descontinuados ou sem manutenção populares no conjunto de dados público do Libraries.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 seus dados publicamente no BigQuery. Por exemplo, o conjunto de dados do GH Archive do Github 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 (link em inglês) pode ser usado para analisar solicitações de download de pacotes do 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 na escala de petabytes!

O que você abordou

  • Como usar a sintaxe SQL para consultar registros de commits do GitHub
  • Escrever uma consulta para extrair insights de um conjunto de dados grande

Saiba mais