1. Введение
BigQuery — это полностью управляемая и недорогая аналитическая база данных от Google. С BigQuery вы можете запрашивать терабайты данных без необходимости в администраторе базы данных или какой-либо инфраструктуре для управления. BigQuery использует привычный SQL и модель оплаты только за то, что вы используете. BigQuery позволяет вам сосредоточиться на анализе данных для получения ценных выводов.
В этом практическом занятии вы узнаете, как выполнять запросы к общедоступному набору данных GitHub , одному из многих доступных общедоступных наборов данных в BigQuery .
Что вы узнаете
- Как использовать BigQuery
- Как написать запрос для получения информации из большого набора данных
Что вам понадобится
2. Настройка
Включить BigQuery
Если у вас еще нет учетной записи Google (Gmail или Google Apps), вам необходимо ее создать .
- Войдите в консоль Google Cloud Platform ( console.cloud.google.com ) и перейдите в раздел BigQuery. Вы также можете открыть веб-интерфейс BigQuery напрямую, введя следующий URL-адрес в свой браузер.
https://console.cloud.google.com/bigquery
- Примите условия предоставления услуг.
- Прежде чем начать использовать BigQuery, необходимо создать проект. Следуйте инструкциям, чтобы создать новый проект.
Выберите название проекта и запишите его идентификатор.
Идентификатор проекта — это уникальное имя для всех проектов 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
Получите краткий предварительный просмотр того, как выглядят данные.

4. Запрос данных GitHub
Откройте редактор запросов.

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

Нажмите кнопку «Выполнить» .
Через несколько секунд результат отобразится внизу, и вы увидите, сколько данных было обработано и сколько времени это заняло.

Несмотря на то, что таблица 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. Например, набор данных GH Archive от Github можно использовать для анализа публичных событий на GitHub, таких как запросы на слияние, отметки звезд в репозиториях и открытые проблемы. Набор данных PyPI от Python Software Foundation можно использовать для анализа запросов на загрузку пакетов Python.
6. Поздравляем!
Вы использовали BigQuery и SQL для запроса к общедоступному набору данных GitHub. У вас есть возможность запрашивать данные петабайтных масштабов!
Что вы осветили
- Использование синтаксиса SQL для запроса записей коммитов GitHub.
- Написание запроса для получения информации из большого набора данных.
Узнать больше
- Изучите SQL с помощью курса «Введение в SQL» от Kaggle .
- Изучите документацию BigQuery .
- Узнайте, как другие используют набор данных GitHub , в этой статье блога .
- Изучайте данные о погоде, преступности и многое другое в TIL с помощью BigQuery .
- Научитесь загружать данные в BigQuery с помощью инструмента командной строки BigQuery .
- Загляните на сабреддит BigQuery , чтобы узнать, как другие используют BigQuery сегодня.