arrow_back

BigQuery ile Sık Karşılaşılan SQL Hatalarını Giderme

Join Sign in
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

BigQuery ile Sık Karşılaşılan SQL Hatalarını Giderme

Lab 50 minutes universal_currency_alt No cost show_chart Introductory
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP408

Google Cloud Rehbersiz Laboratuvarları

Genel Bakış

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 yönetebilirsiniz. SQL kullanan BigQuery, kullandıkça öde modelinin avantajlarından yararlanma imkanı sunar. BigQuery, anlamlı bulgulara ulaşabilmeniz için veri analizine odaklanmanıza olanak tanır.

Google Merchandise Store'da milyonlarca Google Analytics kaydına sahip bir e-ticaret veri kümesi kısa süre önce BigQuery'ye yüklenerek kullanıma sunulmuştur. Bu laboratuvarda söz konusu veri kümesinin bir kopyasını kullanabilir, çeşitli analizlere ulaşmak için mevcut alanları ve satırları keşfedebilirsiniz.

Bu laboratuvarda, sorgularla ilgili sorun giderme mantığı adım adım anlatılmaktadır. Gerçek hayattan bir senaryo bağlamında etkinlikler sunulmaktadır. Laboratuvar süresince ekibinize yeni katılan bir veri analistiyle birlikte çalıştığınızı hayal edin. Bu yeni ekip üyesi size kendi sorgularını sağladı ve e-ticaret veri kümenizle ilgili bazı sorularını yanıtlamanız gerekiyor. Anlamlı bir sonuç elde edebilmesi için aşağıdaki yanıtları kullanarak ekip üyesinin sorgularını düzeltin.

Neler öğreneceksiniz?

Bu laboratuvarda, aşağıdaki görevleri nasıl gerçekleştireceğinizi öğreneceksiniz:

  • BigQuery kaynak ağacına proje sabitleme
  • BigQuery sorgu düzenleyici ve sorgu doğrulayıcı kullanarak SQL söz dizimi ve mantık hatalarını tespit edip sorunları giderme

Kurulum ve şartlar

Laboratuvarı Başlat düğmesini tıklamadan önce

Buradaki talimatları okuyun. Laboratuvarlar süreli olduğundan duraklatılamaz. Laboratuvarı Başlat'ı tıkladığınızda başlayan zamanlayıcı, Google Cloud kaynaklarının ne süreyle kullanımınıza açık durumda kalacağını gösterir.

Bu uygulamalı laboratuvarı kullanarak, laboratuvar etkinliklerini gerçek bir bulut ortamında (Simülasyon veya demo ortamında değil.) gerçekleştirebilirsiniz. Bu olanağın sunulabilmesi için size yeni, geçici kimlik bilgileri verilir. Bu kimlik bilgilerini laboratuvar süresince Google Cloud'da oturum açmak ve Google Cloud'a erişmek için kullanırsınız.

Bu laboratuvarı tamamlamak için şunlar gerekir:

  • Standart bir internet tarayıcısına erişim (Chrome Tarayıcı önerilir).
Not: Bu laboratuvarı çalıştırmak için tarayıcıyı gizli pencerede açın. Aksi takdirde, kişisel hesabınızla öğrenci hesabınız arasında oluşabilecek çakışmalar nedeniyle kişisel hesabınızdan ek ücret alınabilir.
  • Laboratuvarı tamamlamak için yeterli süre. (Laboratuvarlar, başlatıldıktan sonra duraklatılamaz)
Not: Kişisel bir Google Cloud hesabınız veya projeniz varsa bu laboratuvarda kullanmayın. Aksi takdirde hesabınızdan ek ücret alınabilir.

Laboratuvarınızı başlatma ve Google Cloud Console'da oturum açma

  1. Laboratuvarı Başlat düğmesini tıklayın. Laboratuvar için ödeme yapmanız gerekiyorsa ödeme yöntemini seçebileceğiniz bir pop-up açılır. Soldaki Laboratuvar Ayrıntıları panelinde şunlar yer alır:

    • Google Console'u Aç düğmesi
    • Kalan süre
    • Bu laboratuvarda kullanmanız gereken geçici kimlik bilgileri
    • Bu laboratuvarda ilerlemek için gerekebilecek diğer bilgiler
  2. Google Console'u Aç'ı tıklayın. Laboratuvar, kaynakları çalıştırır ve sonra Oturum aç sayfasını gösteren başka bir sekme açar.

    İpucu: Sekmeleri ayrı pencerelerde, yan yana açın.

    Not: Hesap seçin iletişim kutusunu görürseniz Başka Bir Hesap Kullan'ı tıklayın.
  3. Gerekirse Laboratuvar Ayrıntıları panelinden Kullanıcı adı'nı kopyalayın ve Oturum aç iletişim kutusuna yapıştırın. Sonraki'ni tıklayın.

  4. Laboratuvar Ayrıntıları panelinden Şifre'yi kopyalayın ve Hoş geldiniz iletişim penceresine yapıştırın. Sonraki'ni tıklayın.

    Önemli: Sol paneldeki kimlik bilgilerini kullanmanız gerekir. Google Cloud Öğrenim Merkezi kimlik bilgilerinizi kullanmayın. Not: Bu laboratuvarda kendi Google Cloud hesabınızı kullanabilmek için ek ücret ödemeniz gerekebilir.
  5. Sonraki sayfalarda ilgili düğmeleri tıklayarak ilerleyin:

    • Şartları ve koşulları kabul edin.
    • Geçici bir hesap kullandığınızdan kurtarma seçenekleri veya iki faktörlü kimlik doğrulama eklemeyin.
    • Ücretsiz denemelere kaydolmayın.

Birkaç saniye sonra Cloud Console bu sekmede açılır.

Not: Soldaki Gezinme menüsü'nü tıklayarak Google Cloud ürün ve hizmetlerinin listelendiği menüyü görüntüleyebilirsiniz. Gezinme menüsü simgesi

1. görev: BigQuery kaynak ağacına proje sabitleme

  1. Gezinme menüsü Gezinme menüsü simgesi > BigQuery'yi tıklayın.

Cloud Console'da, "BigQuery'ye Hoş Geldiniz" mesaj kutusu açılır.

Not: Cloud Console'daki "BigQuery'ye Hoş Geldiniz" mesaj kutusunda, hızlı başlangıç kılavuzu ve kullanıcı arayüzü güncellemelerinin bağlantısı bulunur.
  1. Done'ı (Bitti) tıklayın.

  2. BigQuery'nin herkese açık veri kümeleri, varsayılan olarak gösterilmez. Herkese açık veri kümeleri projesini açmak için data-to-insights'ı kopyalayın.

  3. + Add (+ Ekle) > Star a project by name'i (Projeleri isme göre yıldızlayın) tıklayın, ardından data-to-insights adını yapıştırın.

  4. Star'ı (Yıldızla) tıklayın.

data-to-insights projesi, Gezgin bölümünde gösterilir.

BigQuery sorgu düzenleyici ve sorgu doğrulayıcı

Bu laboratuvarda, aşağıdaki bölümlerde yer alan her etkinlik için sık karşılaşılan hatalar içeren ve sorun gidermeniz beklenen çeşitli sorgular sağlanmaktadır. Laboratuvar, bakmanız gereken yerler konusunda sizi yönlendirir ve söz dizimini düzeltme ve anlamlı sonuçlar elde etme ile ilgili önerilerde bulunur.

Laboratuvarda sorunları giderip önerileri kullanmaya devam ederken sorgunuzu kopyalayarak BigQuery sorgu düzenleyiciye yapıştırabilirsiniz. Hata tespit edilirse hatanın bulunduğu satırda ve sorgu doğrulayıcıda (alt köşede) kırmızı bir ünlem gösterilir.

BigQuery sorgu düzenleyici

Hatalı olarak çalıştırılan sorgular başarısız olur ve ilgili hata, İş bilgilerinde belirtilir.

"Sorgu başarısız" bilgi kutusu

Sorguda hata yoksa sorgu doğrulayıcıda yeşil bir onay işareti gösterilir. Yeşil onay işaretini gördüğünüzde Çalıştır'ı tıklayarak sorguyu çalıştırabilir ve getirilen sonuçlara bakabilirsiniz.

Sorgu doğrulayıcıda yeşil onay işareti

Not: Söz dizimi hakkında bilgi edinmek için Standard SQL Query Syntax (Standart SQL Sorgu Söz Dizimi) sayfasına göz atın.

2. görev: Ödeme aşamasını tamamlayan toplam müşteri sayısını bulma

Bu bölümdeki hedefiniz, web sitenizde ödeme aşamasını başarıyla tamamlayan tekil ziyaretçi sayısını veren bir sorgu oluşturmaktır. Veriler, veri analist ekibinizin sağladığı rev_transactions tablosundadır. Analist ekibiniz ayrıca analize başlamanıza yardımcı olmak için bazı örnek sorgular da sağladı, ancak bu sorguların düzgün çalışıp çalışmadığından emin değiller.

Sorgu doğrulayıcı, takma ad ve virgül hataları olan sorguların hatalarını giderme

  • Aşağıdaki sorguyu inceleyin ve soruyu yanıtlayın:
#standardSQL SELECT FROM `data-to-inghts.ecommerce.rev_transactions` LIMIT 1000

  • Bu güncellenmiş sorgu nasıl?
#standardSQL SELECT * FROM [data-to-insights:ecommerce.rev_transactions] LIMIT 1000

  • Standart SQL kullanan bu sorgu nasıl?
#standardSQL SELECT FROM `data-to-insights.ecommerce.rev_transactions`

  • Şimdi nasıl olmuş? Bu sorguda bir sütun var:
#standardSQL SELECT fullVisitorId FROM `data-to-insights.ecommerce.rev_transactions`

  • Şimdi nasıl olmuş? Aşağıdaki sorguda bir sayfa başlığı var:
#standardSQL SELECT fullVisitorId hits_page_pageTitle FROM `data-to-insights.ecommerce.rev_transactions` LIMIT 1000

  • Şimdi nasıl olmuş? Eksik olan virgül düzeltildi.
#standardSQL SELECT fullVisitorId , hits_page_pageTitle FROM `data-to-insights.ecommerce.rev_transactions` LIMIT 1000

Yanıt: Bu sorgu sonuç döndürür ama ziyaretçilerin iki kez sayılmadığından emin misiniz? Ayrıca, tek bir satır döndürüldüğünde, kaç tekil ziyaretçinin ödeme aşamasına ulaştığı sorusuna da yanıt bulmuş oluruz. Bir sonraki bölümde, sonuçlarınızı birleştirmek için bir yöntem bulacaksınız.

Mantık hataları, GROUP BY ifadeleri ve joker karakter filtreleri içeren sorgulardaki sorunları giderme

  • Şu soruyu yanıtlamak için aşağıdaki sorguyu birleştirin: Kaç tekil ziyaretçi ödeme aşamasına ulaştı?
#standardSQL SELECT fullVisitorId , hits_page_pageTitle FROM `data-to-insights.ecommerce.rev_transactions` LIMIT 1000
  • Buna ne dersiniz? COUNT() toplama işlevi eklendi:
#standardSQL SELECT COUNT(fullVisitorId) AS visitor_count , hits_page_pageTitle FROM `data-to-insights.ecommerce.rev_transactions`

  • Aşağıdaki sorguda GROUP BY ve DISTINCT ifadeleri eklendi:
#standardSQL SELECT COUNT(DISTINCT fullVisitorId) AS visitor_count , hits_page_pageTitle FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY hits_page_pageTitle

Sonuçlar Sonuç tablosu

Güzel! Sonuçlar iyi ama biraz tuhaf görünüyor.

  • Sonuçlarda yalnızca "Checkout Confirmation" ifadesini filtreleyin:
#standardSQL SELECT COUNT(DISTINCT fullVisitorId) AS visitor_count , hits_page_pageTitle FROM `data-to-insights.ecommerce.rev_transactions` WHERE hits_page_pageTitle = "Checkout Confirmation" GROUP BY hits_page_pageTitle

Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın. Ödeme aşamasını tamamlayan toplam müşteri sayısını bulma

3. görev: E-ticaret sitenizde en çok işlem yapan şehirleri listeleme

Hataları birleştirdikten sonra sıralama, hesaplanan alanlar ve filtrelemeyle ilgili sorunları giderme

  1. Kısmi olarak yazılan sorguyu tamamlayın:
SELECT geoNetwork_city, totals_transactions, COUNT( DISTINCT fullVisitorId) AS distinct_visitors FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY

Olası çözüm:

#standardSQL SELECT geoNetwork_city, SUM(totals_transactions) AS totals_transactions, COUNT( DISTINCT fullVisitorId) AS distinct_visitors FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY geoNetwork_city
  1. Önceki sorgunuzu güncelleyerek en çok işlem yapılan şehirlerin listenin başında olmasını sağlayın.

Olası çözüm:

#standardSQL SELECT geoNetwork_city, SUM(totals_transactions) AS totals_transactions, COUNT( DISTINCT fullVisitorId) AS distinct_visitors FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY geoNetwork_city ORDER BY distinct_visitors DESC
  1. Sorgunuzu güncelleyin ve şehir bazında, sipariş başına ortalama ürün sayısını döndürecek yeni bir hesaplanan alan oluşturun.

Olası çözüm:

#standardSQL SELECT geoNetwork_city, SUM(totals_transactions) AS total_products_ordered, COUNT( DISTINCT fullVisitorId) AS distinct_visitors, SUM(totals_transactions) / COUNT( DISTINCT fullVisitorId) AS avg_products_ordered FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY geoNetwork_city ORDER BY avg_products_ordered DESC

Sonuçlar

Sonuç tablosu

Birleştirilmiş sonuçları filtreleyerek yalnızca ürün sipariş adedi 20 avg_products_ordered değerinin üzerinde olan şehirlerin döndürülmesini sağlayın.

  • Aşağıdaki sorguda sorun nedir?
#standardSQL SELECT geoNetwork_city, SUM(totals_transactions) AS total_products_ordered, COUNT( DISTINCT fullVisitorId) AS distinct_visitors, SUM(totals_transactions) / COUNT( DISTINCT fullVisitorId) AS avg_products_ordered FROM `data-to-insights.ecommerce.rev_transactions` WHERE avg_products_ordered > 20 GROUP BY geoNetwork_city ORDER BY avg_products_ordered DESC

Olası çözüm:

#standardSQL SELECT geoNetwork_city, SUM(totals_transactions) AS total_products_ordered, COUNT( DISTINCT fullVisitorId) AS distinct_visitors, SUM(totals_transactions) / COUNT( DISTINCT fullVisitorId) AS avg_products_ordered FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY geoNetwork_city HAVING avg_products_ordered > 20 ORDER BY avg_products_ordered DESC

Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın. E-ticaret sitenizde en çok işlem yapan şehirleri listeleme

4. görev: Her ürün kategorisindeki toplam ürün sayısını bulma

NULL değerleriyle filtreleme yaparak en çok satılan ürünleri bulma

  1. Aşağıdaki sorguda sorun nedir? Bunu nasıl düzeltebilirsiniz?
#standardSQL SELECT hits_product_v2ProductName, hits_product_v2ProductCategory FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY 1,2

  1. Aşağıdaki sorguda sorun nedir?
#standardSQL SELECT COUNT(hits_product_v2ProductName) as number_of_products, hits_product_v2ProductCategory FROM `data-to-insights.ecommerce.rev_transactions` WHERE hits_product_v2ProductName IS NOT NULL GROUP BY hits_product_v2ProductCategory ORDER BY number_of_products DESC

  1. Önceki sorguyu güncelleyerek yalnızca her ürün kategorisindeki birbirinden farklı ürünlerin sayılmasını sağlayın.

Olası çözüm:

#standardSQL SELECT COUNT(DISTINCT hits_product_v2ProductName) as number_of_products, hits_product_v2ProductCategory FROM `data-to-insights.ecommerce.rev_transactions` WHERE hits_product_v2ProductName IS NOT NULL GROUP BY hits_product_v2ProductCategory ORDER BY number_of_products DESC LIMIT 5

Not:
  • (not set) ifadesi, ürünün herhangi bir kategorisi olmadığını belirtiyor olabilir
  • ${productitem.product.origCatName}, kategoriyi oluşturacak ön uç kodudur. Bu kod, sayfa tam olarak oluşturulmadan Google Analytics izleme komut dosyasının tetiklendiğini gösteriyor olabilir.
  • Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın. Her ürün kategorisindeki toplam ürün sayısını bulma

    Tebrikler!

    BigQuery standart SQL dilinde yazılmış, hatalı sorguların sorunlarını tespit ederek düzelttiniz. Sorgu söz dizimiyle ilgili hataları önlemek için sorgu doğrulayıcıyı kullanmayı unutmayın. Ancak sorgunuz başarıyla yürütülüyor olsa bile sorgu sonuçlarınıza şüpheyle yaklaşın.

    Sonraki adımlar / Daha fazla bilgi

    Google Cloud eğitimi ve sertifikası

    ...Google Cloud teknolojilerinden en iyi şekilde yararlanmanıza yardımcı olur. Derslerimizde teknik becerilere odaklanırken en iyi uygulamalara da yer veriyoruz. Gerekli yetkinlik seviyesine hızlıca ulaşmanız ve öğrenim maceranızı sürdürebilmeniz için sizlere yardımcı olmayı amaçlıyoruz. Temel kavramlardan ileri seviyeye kadar farklı eğitim programlarımız mevcut. Ayrıca, yoğun gündeminize uyması için talep üzerine sağlanan, canlı ve sanal eğitim alternatiflerimiz de var. Sertifikasyonlar ise Google Cloud teknolojilerindeki becerilerinizi ve uzmanlığınızı doğrulamanıza ve kanıtlamanıza yardımcı oluyor.

    Kılavuzun Son Güncellenme Tarihi: 19 Ocak 2024

    Laboratuvarın Son Test Edilme Tarihi: 28 Ağustos 2023

    Telif Hakkı 2024 Google LLC Tüm hakları saklıdır. Google ve Google logosu, Google LLC şirketinin ticari markalarıdır. Diğer tüm şirket ve ürün adları ilişkili oldukları şirketlerin ticari markaları olabilir.