GitHub verilerini sorgulamak için BigQuery'yi kullanma

1. Giriş

BigQuery, Google'ın tümüyle yönetilen, düşük maliyetli analitik veritabanıdır. BigQuery ile terabaytlarca veriyi bir veritabanı yöneticisine veya yönetilecek herhangi bir altyapıya ihtiyaç duymadan sorgulayabilirsiniz. BigQuery, bildiğiniz SQL'i ve yalnızca kullandığınız kadar ödeme yapmanızı sağlayan bir faturalandırma modelini kullanır. BigQuery, anlamlı bulgulara ulaşabilmeniz için veri analizine odaklanmanıza olanak tanır.

Bu codelab'de, GitHub herkese açık veri kümesini (BigQuery'de bulunan birçok herkese açık veri kümesinden biri) nasıl sorgulayacağınızı öğreneceksiniz.

Neler öğreneceksiniz?

  • BigQuery'yi kullanma
  • Büyük bir veri kümesi hakkında bilgi edinmek için sorgu yazma

Gerekenler

2. Hazırlanın

BigQuery'yi etkinleştirme

Google Hesabınız (Gmail veya Google Apps) yoksa hesap oluşturmanız gerekir.

  • Google Cloud Platform Console'da ( console.cloud.google.com) oturum açın ve BigQuery'ye gidin. Ayrıca, tarayıcınıza aşağıdaki URL'yi girerek BigQuery web kullanıcı arayüzünü doğrudan açabilirsiniz.
https://console.cloud.google.com/bigquery
  • Hizmet şartlarını kabul edin.
  • BigQuery'yi kullanabilmek için bir proje oluşturmanız gerekir. Yeni projenizi oluşturmak için talimatları uygulayın.

Bir proje adı seçin ve proje kimliğini not edin. 5dHf3myqCTd3rm-fowZ_aU3An-T_NTgNnIZtQILio27us0xB3StjnSNnQraAnllEQCH4N2nMwLU1mnELwbNN85tbwNC_DbIdbxU8ufzJYW1MWpYu0hnbSrAajpAaRNs8UBeWFu68Aw

Proje kimliği, tüm Google Cloud projelerinde benzersiz bir addır. Bu codelab'in ilerleyen kısımlarında PROJECT_ID olarak adlandırılacaktır.

Bu codelab'de, BigQuery korumalı alan sınırları dahilindeki BigQuery kaynakları kullanılır. Faturalandırma hesabı gerekmez. Daha sonra sandbox sınırlarını kaldırmak isterseniz Google Cloud Platform ücretsiz deneme sürümüne kaydolarak bir faturalandırma hesabı ekleyebilirsiniz.

3. GitHub verilerini önizleme

GitHub veri kümesini BigQuery web kullanıcı arayüzünde açın.

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

Verilerin nasıl göründüğüne dair hızlı bir önizleme elde edin.

ed0b9fce5eab1c6b.png

4. GitHub verilerini sorgulama

Sorgu düzenleyiciyi açın.

759423d320075d96.png

GitHub herkese açık veri kümesindeki en yaygın commit mesajlarını bulmak için aşağıdaki sorguyu girin:

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 veri kümesi büyük olduğundan, maliyetten tasarruf etmek için deneme yaparken daha küçük bir örnek veri kümesi kullanmak faydalı olur. Sorgu maliyetini tahmin etmek için düzenleyicinin altındaki işlenen baytları kullanın.

fb66b7e9c6e838c.png

Çalıştır düğmesini tıklayın.

Birkaç saniye içinde sonuç alt kısımda listelenir. İşlenen veri miktarı ve işlemin ne kadar sürdüğü gösterilir.

3ce1a59763d0dab5.png

sample_commits tablosu 2,49 GB olsa da sorgu yalnızca 35,8 MB işledi. BigQuery yalnızca sorguda kullanılan sütunlardaki baytları işlediğinden, işlenen toplam veri miktarı tablo boyutundan önemli ölçüde daha az olabilir. Kümeleme ve bölümlendirme ile işlenen veri miktarı daha da azaltılabilir.

5. Daha fazla herkese açık veri

Şimdi de diğer herkese açık veri kümelerinden birini sorgulamayı deneyin.

Örneğin, aşağıdaki sorgu, Libraries.io herkese açık veri kümesinde diğer projelerde bağımlı olarak kullanılmaya devam eden, desteği sonlandırılmış veya bakımı yapılmayan popüler projeleri bulur:

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

Diğer kuruluşlar da verilerini BigQuery'de herkese açık olarak kullanıma sunmuştur. Örneğin, GitHub'ın GH Archive veri kümesi, GitHub'daki herkese açık etkinlikleri (ör. çekme istekleri, depo yıldızları ve açılan sorunlar) analiz etmek için kullanılabilir. Python Software Foundation'ın PyPI veri kümesi, Python paketleri için indirme isteklerini analiz etmek amacıyla kullanılabilir.

6. Tebrikler!

GitHub herkese açık veri kümesini sorgulamak için BigQuery ve SQL'i kullandınız. Petabayt ölçeğindeki veri kümelerini sorgulayabilirsiniz.

Kapsamınız

  • GitHub commit kayıtlarını sorgulamak için SQL söz dizimini kullanma
  • Büyük bir veri kümesi hakkında bilgi edinmek için sorgu yazma

Daha fazla bilgi