BigQuery'yi kullanarak GitHub verilerini sorgulama

BigQuery, Google'ın tümüyle yönetilen, NoOps özellikli, düşük maliyetli analitik veritabanıdır. BigQuery ile terabaytlarca veriyi herhangi bir altyapıyı yönetmenize gerek kalmadan ya da bir veritabanı yöneticisine 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 laboratuvarda, BigQuery'de bulunan herkese açık veri kümelerinden biri olan GitHub herkese açık veri kümesinin nasıl sorgulanacağını göreceğiz.

Neler öğreneceksiniz?

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

Gerekenler

  • Google Cloud Platform projesi
  • Chrome veya Firefox gibi bir tarayıcı

BigQuery'yi etkinleştirme

Henüz bir Google Hesabınız (Gmail veya Google Apps) yoksa 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 istemleri uygulayın.

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


    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 korumalı alan sınırlarını kaldırmak isterseniz Google Cloud Platform ücretsiz deneme sürümüne kaydolarak bir faturalandırma hesabı ekleyebilirsiniz.

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.

Sorgu düzenleyiciyi açın.

GitHub herkese açık veri kümesindeki en yaygın commit 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 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.

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

Birkaç saniye içinde sonuç en altta listelenir. Ayrıca, ne kadar veri işlendiği ve işlemin ne kadar sürdüğü de gösterilir:

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şler. Bu nedenle, 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.

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

Örneğin, bu sorgu Libraries.io herkese açık veri kümesinde, diğer projelerde bağımlılık olarak kullanılmaya devam eden, popüler ancak desteği sonlandırılmış veya bakımı yapılmayan 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 Archive veri kümesi, GitHub'daki herkese açık etkinlikleri (ör. pull istekleri, depolardaki 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.

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.

İşlediğimiz konular

  • 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