Используйте BigQuery для запроса данных GitHub

1. Введение

BigQuery — это полностью управляемая и недорогая аналитическая база данных Google. С помощью BigQuery вы можете запрашивать терабайты данных без необходимости использования администратора базы данных или какой-либо инфраструктуры для управления. BigQuery использует знакомый SQL и модель оплаты «платите только за то, что используете». BigQuery позволяет вам сосредоточиться на анализе данных и получить значимую информацию.

В этой лаборатории кода вы увидите, как запросить общедоступный набор данных GitHub , один из многих доступных общедоступных наборов данных, доступных в BigQuery .

Что вы узнаете

  • Как использовать BigQuery
  • Как написать запрос, чтобы получить представление о большом наборе данных

Что вам понадобится

  • Проект Google Cloud
  • Браузер, например Chrome или Firefox.

2. Настройте

Включить BigQuery

Если у вас еще нет учетной записи Google (Gmail или Google Apps), вам необходимо ее создать .

  • Войдите в консоль Google Cloud Platform ( console.cloud.google.com ) и перейдите в BigQuery. Вы также можете открыть веб-интерфейс BigQuery напрямую, введя следующий URL-адрес в браузере.
https://console.cloud.google.com/bigquery
  • Примите условия обслуживания.
  • Прежде чем вы сможете использовать BigQuery, вам необходимо создать проект. Следуйте инструкциям, чтобы создать новый проект.

Выберите имя проекта и запишите идентификатор проекта. 5dHf3myqCTd3rm-fowZ_aU3An-T_NTgNnIZtQILio27us0xB3StjnSNnQraAnllEQCH4N2nMwLU1mnELwbNN85tbwNC_DbIdbxU8ufzJYW1MWpYu0hnbSrAajpAaRNs8UBeWFu68Aw

Идентификатор проекта – это уникальное имя для всех проектов Google Cloud. Позже в этой лаборатории он будет называться PROJECT_ID .

В этой лаборатории кода используются ресурсы BigQuery с ограничениями песочницы BigQuery . Платежный аккаунт не требуется. Если позже вы захотите снять ограничения песочницы, вы можете добавить учетную запись для выставления счетов, подписавшись на бесплатную пробную версию Google Cloud Platform.

3. Предварительный просмотр данных GitHub

Откройте набор данных GitHub в веб-интерфейсе BigQuery.

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

Получите быстрый предварительный просмотр того, как выглядят данные.

ed0b9fce5eab1c6b.png

4. Запрос данных GitHub

Откройте редактор запросов.

759423d320075d96.png

Введите следующий запрос, чтобы найти наиболее распространенные сообщения о фиксации в общедоступном наборе данных 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

Учитывая, что набор данных GitHub большой, во время экспериментов можно использовать образец набора данных меньшего размера, чтобы сэкономить на затратах. Используйте байты, обработанные в редакторе, чтобы оценить стоимость запроса.

fb66b7e9c6e838c.png

Нажмите кнопку «Выполнить» .

Через несколько секунд результат будет указан внизу и сообщит вам, какой объем данных был обработан и сколько времени это заняло.

3ce1a59763d0dab5.png

Несмотря на то, что размер таблицы sample_commits составляет 2,49 ГБ, запрос обработал только 35,8 МБ. BigQuery обрабатывает только байты из столбцов, используемых в запросе, поэтому общий объем обработанных данных может быть значительно меньше размера таблицы. Благодаря кластеризации и секционированию объем обрабатываемых данных можно еще больше сократить.

5. Больше общедоступных данных

Теперь попробуйте запросить другой набор данных, например один из других общедоступных наборов данных .

Например, следующий запрос находит популярные устаревшие или неподдерживаемые проекты в общедоступном наборе данных Libraries.io , которые все еще используются в качестве зависимости в других проектах:

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

Другие организации также сделали свои данные общедоступными в BigQuery. Например, набор данных Github GH Archive можно использовать для анализа общедоступных событий на GitHub, таких как запросы на включение, звезды репозитория и открытые проблемы. Набор данных PyPI Python Software Foundation можно использовать для анализа запросов на загрузку пакетов Python.

6. Поздравляем!

Вы использовали BigQuery и SQL для запроса общедоступного набора данных GitHub. У вас есть возможность запрашивать наборы данных петабайтного масштаба!

Что вы покрыли

  • Использование синтаксиса SQL для запроса записей коммитов GitHub
  • Написание запроса для получения информации о большом наборе данных

Узнать больше