BigQuery kullanarak GitHub verilerini sorgulama

BigQuery, Google'ın tümüyle yönetilen, NoOps özellikli, düşük maliyetli analitik veritabanıdır. BigQuery sayesinde, yönetilecek bir veritabanı yöneticisine veya herhangi bir altyapıya gerek olmadan terabaytlarca veriyi sorgulayabilirsiniz. BigQuery, aşina olduğunuz SQL ve yalnızca kullandığınız kadar ödeme yaptığınız bir şarj modeli kullanır. BigQuery, anlamlı bulgulara ulaşabilmeniz için veri analizine odaklanmanıza olanak tanır.

Bu laboratuvarda, BigQuery'de kullanılabilen birçok herkese açık veri kümesinden biri olan GitHub herkese açık veri kümesini nasıl sorgulayacağınızı inceleyeceğiz.

Neler öğreneceksiniz?

  • BigQuery'yi Kullanma
  • Büyük bir veri kümesiyle ilgili bilgi edinmek için sorgu yazma

Gerekenler

  • Bir Google Cloud Platform Projesi
  • Chrome veya Firefox gibi bir Tarayıcı

BigQuery'yi etkinleştirme

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

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

    Bir proje adı seçin ve proje kimliğini not edin.


    Proje kimliği, tüm Google Cloud projeleri genelinde benzersiz bir addır. Bu, daha sonra bu codelab'de PROJECT_ID olarak adlandırılacaktır.

Bu codelab'de, BigQuery korumalı alanı sınırlarına sahip BigQuery kaynakları kullanılmaktadır. Faturalandırma hesabı gerekli değildir. Daha sonra korumalı alan sınırlarını kaldırmak isterseniz Google Cloud Platform ücretsiz deneme sürümüne kaydolarak bir faturalandırma hesabı ekleyebilirsiniz.

BigQuery web kullanıcı arayüzünde GitHub veri kümesini 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 yapın.

Sorgu düzenleyiciyi açın,

GitHub herkese açık veri kümesinde en sık kullanılan taahhüt mesajlarını bulmak için bu 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 denemeler yaparken daha küçük bir örnek veri kümesi kullanmanız yararlı olur. Sorgu maliyetini tahmin etmek için düzenleyicinin altında işlenen baytları kullanın.

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

Sonuç birkaç saniye içinde alt tarafta listelenir ve ne kadar verinin işlendiğini ve ne kadar sürdüğünü de belirtir:

sample_commits tablosu 2, 49 GB olsa da sorgu yalnızca 35, 8 MB işlenmiş olur. BigQuery yalnızca sorguda kullanılan sütunlardaki baytları işler. Bu nedenle işlenen toplam veri miktarı, tablo boyutundan önemli ölçüde az olabilir. Kümeleme ve bölümleme sayesinde, işlenen veri miktarı daha da azalabilir.

Şimdi, diğer herkese açık veri kümelerinden biri gibi, başka bir veri kümesini sorgulamayı deneyin.

Örneğin, bu sorgu Librister.io herkese açık veri kümesinde diğer projelerde bağımlılık olarak kullanılmakta olan popüler kullanımdan kaldırılmış veya bakılmamış 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

Ayrıca diğer kuruluşlar, verilerini BigQuery'de herkese açık hale getirmiştir. Örneğin, GitGitb'deki herkese açık etkinlikleri (ör. pull istekleri, kod deposu yıldızları ve açılan sorunlar) analiz etmek için GitHub Arşiv veri kümesi kullanılabilir. Python Software Foundation's PyPI veri kümesi, Python paketleri için indirme isteklerinin analiz edilmesinde kullanılabilir.

Herkese açık GitHub veri kümesini sorgulamak için BigQuery ve SQL kullandınız. Petabayt ölçeğinde veri kümelerini sorgulama gücüne sahipsiniz!

Değindiğimiz konular

  • GitHub taahhüt kayıtlarını sorgulamak için SQL söz dizimini kullanma
  • Büyük bir veri kümesiyle ilgili bilgi edinmek için sorgu yazma

Daha Fazla Bilgi