BigQuery ve Looker'ı kullanarak Bigtable'da kredi kartı işlem verilerini analiz etme ve görselleştirme

1. Genel Bakış

Bu codelab, Bigtable'a yazılan kredi kartı işlemi verileri akışını analiz etme konusunda size yol gösterir. Verileri gerçek zamanlı olarak dışa aktarmak için Bigtable'den BigQuery'ye şablonundaki değişiklik akışlarını nasıl kullanacağınızı öğreneceksiniz. Ardından, değişiklik akışı günlüğünü sorgulama tekniklerini ve verileri Looker kullanarak bir gösterge tablosu oluşturacak şekilde yeniden biçimlendirme yöntemlerini göreceksiniz.

Bu codelab, Bigtable, komut satırı araçları ve etkinlik akışı hizmetleri hakkında bilgi sahibi olan teknik kullanıcılar için hazırlanmıştır.

426dc59200875a20.png

Bu codelab'de aşağıdakilerin nasıl yapılacağı gösterilmektedir:

  • Değişiklik akışı etkinleştirilmiş bir Bigtable tablosu oluşturun.
  • Bir BigQuery veri kümesi oluşturun.
  • Dataflow şablonunu dağıtın Bigtable change streams to BigQuery.
  • BigQuery'de etkinlik akışını sorgulayın.
  • Looker ile etkinlik akışını görselleştirin.

Bu şemada, dağıtacağınız sistemin mimarisi gösterilmektedir.

336e940307d0e0a.png

2. Proje ayarlama

  1. Google Cloud Console'da, proje seçici sayfasında bir Google Cloud projesi oluşturun veya mevcut bir projeyi seçin.

eb5309715175de69.png

  1. Google Cloud projeniz için faturalandırmanın etkinleştirildiğinden emin olun.
  2. Dataflow, Bigtable, BigQuery, Looker ve Cloud Storage için gerekli API'leri etkinleştirmek üzere önceden doldurulmuş bu API etkinleştirme sayfasını ziyaret edin.

3. Bir BigQuery veri kümesi oluşturma

Bu codelab'in ilerleyen bölümlerinde BigQuery kullanarak verileri analiz edeceksiniz. Veri hattınızın çıkışı için veri kümesi oluşturmak üzere bu talimatları uygulayın.

  1. Google Cloud Console'da BigQuery sayfasına gidin.
  2. Gezgin bölmesinde proje adınızı bulun ve taşma menüsünü (proje kimliğinin yanındaki üç dikey nokta) tıklayın.
  3. Veri kümesi oluştur'u tıklayın.

122bc1a411b8dc63.png

  1. Veri kümesi oluştur panelinde aşağıdakileri yapın:
  • Veri kümesi kimliği için bigtable_bigquery_tutorial değerini girin.
  • Kalan varsayılan ayarları olduğu gibi bırakın.
  • Veri kümesi oluştur'u tıklayın.

4. Değişiklik akışı etkinleştirilmiş bir Bigtable tablosu oluşturma

Bigtable, düşük gecikmeli ve yatay olarak ölçeklenebilir bir NoSQL veritabanı hizmetidir. Finansal verilerin sunulması, Bigtable'ın yaygın kullanım alanlarından biridir. Burada, kredi kartı işlemlerini saklayabilecek bir tablo oluşturacaksınız. Bigtable, dünya genelindeki işlemlerin yüksek gönderim hacmiyle yazılmasını sağlayabilir ve bu verileri anlık sahtekarlık algılama için bile kullanabilir.

  1. Google Cloud Console'da Bigtable örnekleri sayfasına gidin.
  2. Bu eğitim için kullandığınız örneğin kimliğini tıklayın. Kullanılabilir bir örneğiniz yoksa size yakın bir bölgede istediğiniz ada sahip bir örnek oluşturun. Diğer her şey için varsayılan yapılandırmaları kullanabilirsiniz.

a2e8de7b66dc42e.png

  1. Sol gezinme bölmesinde Tablolar'ı tıklayın.
  2. Tablo oluştur'u tıklayın.

9c267c00f93747c4.png

  • Tabloyu retail-database olarak adlandırın.
  • transactions adlı bir sütun ailesi ekleyin.
  • Değişiklik akışını etkinleştir'i seçin.
  • Atık toplama politikasını ve saklama süresini varsayılan değerlerinde bırakın.
  • Oluştur'u tıklayın.

696cd1399c354816.png

5. Değişiklik akışını yakalamak için bir veri ardışık düzeni başlatın.

Bigtable'ın performansı nokta okumaları ve satır aralığı taramaları için idealdir ancak tablo genelinde analizler, sunma kapasitesi ve CPU kaynakları üzerinde baskı oluşturabilir. BigQuery, tablo genelinde analizler için idealdir. Bu nedenle, burada kullanacağınız çözüm çift yazma işlemidir. Bu, verilerinizi Bigtable ve BigQuery'ye yazacağınız anlamına gelir. Bu, yaygın bir tekniktir. Bigtable change streams to BigQuery Dataflow şablonunu kullanacağınız için ek kodlama yapmanız gerekmez: Veriler Bigtable'a yazıldığında ardışık düzen, BigQuery'ye bir değişiklik kaydı yazar. Veriler BigQuery'ye aktarıldıktan sonra, Bigtable'daki yayın verilerinizin performansını etkilemeyecek şekilde tüm veri kümenizde optimize edilmiş sorgular gerçekleştirebilirsiniz.

f4cd9d8faf10ce77.png

  1. Bigtable Tablolar sayfasında tablonuzu retail-database bulun.
  2. Değişiklik akışı sütununda Bağlan'ı tıklayın.
  3. Dataflow ile bağlanın iletişim kutusunda BigQuery'yi seçin.
  4. Dataflow işi oluştur'u tıklayın.
  5. Sağlanan parametre alanlarına parametre değerlerinizi girin. İsteğe bağlı parametreler sağlamanız gerekmez.
  • Cloud Bigtable uygulama profili kimliğini default olarak ayarlayın.
  • BigQuery veri kümesini bigtable_bigquery_tutorial olarak ayarlayın.
  1. İşi çalıştır'ı tıklayın.
  2. Devam etmeden önce iş durumunun Başlatılıyor veya Çalışıyor olmasını bekleyin. İş sıraya alındıktan sonra yaklaşık beş dakika sürebilir. Sayfa otomatik olarak güncellenir. Bu şablon bir akış işi oluşturur. Bu nedenle, iş manuel olarak durdurulana kadar Bigtable'a yazılan yeni verileri sürekli olarak işleyebilir.

a04908b37c6fe96b.png

6. Bigtable'a bazı veriler yazma

Şimdi, bir yıllık kredi kartı işlemlerini Bigtable tablonuza yazacaksınız. Bu örnek veri kümesi; kredi kartı numarası, satıcı adı ve kimliği ile tutar gibi bilgileri içerir. Gerçek bir kredi kartı işleme uygulamasında, bu veriler her işlem gerçekleştiğinde gerçek zamanlı olarak veritabanınıza aktarılır.

  1. Cloud Console'un sağ üst köşesindeki düğmeyi tıklayarak Cloud Shell'i açın.

f6395329b04ecb64.png

  1. İstenirse Cloud Shell'e yetki verme istemini kabul edin.
  2. Veri kümesini indirin.
gsutil cp gs://cloud-bigtable-public-datasets/change-streams-tutorial/cc-transactions-2023.csv .
  1. Ortam değişkenlerinizi komut satırında ayarlama
PROJECT_ID=your-project-id
BIGTABLE_INSTANCE_ID=your-bigtable-instance-id
  1. cbt CLI'yı kullanarak retail-database tablosuna bir dizi kredi kartı işlemi yazın.
cbt -instance=$BIGTABLE_INSTANCE_ID -project=$PROJECT_ID import \
retail-database cc-transactions-2023.csv  column-family=transactions

Çıkışta şu ifade yer alır:

Done importing 10000 rows.

7. Değişiklik günlüklerini BigQuery'de görüntüleme

  1. Google Cloud Console'da BigQuery sayfasına gidin.
  2. Gezgin bölmesinde projenizi ve veri kümesini genişletin bigtable_bigquery_tutorial.
  3. Tabloyu tıklayın retail-database_changelog. Tablo yoksa veri kümesini yenilemeniz gerekebilir.
  4. Değişiklik günlüğünü görmek için Önizleme'yi tıklayın.

aa97ff01f944832.png

Birkaç sorgu deneyin

Artık bu veri kümesi üzerinde birkaç sorgu çalıştırarak bazı analizler elde edebilirsiniz. SQL sorguları burada verilmiştir ancak BigQuery'de Bigtable değişiklik günlüğünü sorgulama dokümanında değişiklik günlüğü verileri için sorgu yazma hakkında daha fazla bilgi yer almaktadır.

Tek bir işlemi arama

Belirli bir işleme ait verileri aramak için aşağıdaki sorguyu kullanın.

SELECT *
FROM `bigtable_bigquery_tutorial.retail-database_changelog`
WHERE row_key="3034-442694-3052#2023-03-03T14:50:46.824Z"

Yazılan her sütunun BigQuery'de ayrı bir satıra dönüştürüldüğünü görürsünüz.

Her kategorideki satın alma sayısını bulma

Kategori başına satın alma sayısını hesaplamak için aşağıdaki sorguyu kullanın.

SELECT value as category, count(*) as `number of sales`
FROM `bigtable_bigquery_tutorial.retail-database_changelog`
WHERE column="category"
GROUP BY category

Verileri yeniden biçimlendirme

Her işlemi tek bir BigQuery tablosu satırında yeniden oluşturmak için verileri pivotlayıp sonucu yeni bir tabloya kaydedeceksiniz. Bu, sorgu oluşturmak için daha kolay yönetilebilir bir biçimdir.

CREATE VIEW bigtable_bigquery_tutorial.retail_transactions_view AS (
    SELECT *, parse_numeric(amount) as sales_dollars FROM (
      SELECT row_key, timestamp, column, value
      FROM `bigtable_bigquery_tutorial.retail-database_changelog`
      )
      PIVOT (
      MAX(value)
      FOR column in ("merchant", "amount", "category", "transaction_date")
    )
)

Looker kontrol paneli oluşturma

  1. Yeni görünümün ayrıntılar sayfasına gitmek için Görünüme git'i tıklayın.
  2. Dışa aktar'ı tıklayın.
  3. Looker Studio ile keşfet'i seçin.

bb45482e9101b0f.png

8. Kontrol paneline grafik ekleme

Artık bilgileri grafiğe dökerek daha kolay anlaşılır hale getirebilir ve rapor olarak paylaşabilirsiniz. Kontrol panelinize üç grafik ekleyeceksiniz:

  • Zaman içindeki işlem tutarları
  • Her satıcının toplam işlem sayısı
  • Kategori başına işlem yüzdesi

426dc59200875a20.png

Sayfayı ayarlama

  1. Mevcut her grafiği tıklayın ve silmek için Sil tuşuna basın.
  2. Grafik verilerini değiştirebilmek için sayfanın sağ tarafındaki Tesisler'i seçin.

Grafikleri ekleme

Zaman içindeki işlem tutarları

  1. Grafik ekle'yi tıklayın ve bir zaman serisi grafiği oluşturun.
  2. Boyut'u transaction_date olarak ayarlayın.
  1. Metrik'i sales_dollars olarak ayarlayın.

372bdf2a2bcdb817.png

Her satıcının toplam işlem sayısı

  1. Grafik ekle'yi tıklayın ve bir tablo oluşturun.
  2. Boyut'u merchant olarak ayarlayın.
  3. Metrik'i sales_dollars olarak ayarlayın.

Kategori başına işlem yüzdesi

  1. Grafik ekle'yi tıklayın ve pasta grafiği oluşturun.
  2. Boyut'u category olarak ayarlayın.
  3. Metrik'i sales_dollars olarak ayarlayın.

Gerçek zamanlı değişiklikleri görme

Biraz zaman ayırıp grafiklerdeki değerleri inceleyin. Tablodaki belirli satıcıları veya kategorileri tıklayabilirsiniz. Bu durumda tüm grafikler, daha fazla analiz elde etmenizi sağlayacak şekilde bu belirli değerlere göre filtrelenir. Ardından, daha fazla veri yazabilir ve bu grafiğin nasıl gerçek zamanlı olarak güncellendiğini görebilirsiniz.

  1. Cloud Shell'inize geri dönün.
  2. İkinci veri kümesini indirip yazın.
gsutil cp gs://cloud-bigtable-public-datasets/change-streams-tutorial/cc-transactions-2024-jan.csv .

cbt -instance=$BIGTABLE_INSTANCE_ID -project=$PROJECT_ID import \
retail-database cc-transactions-2024-jan.csv  column-family=transactions
  1. Looker kontrol panelinize dönün ve Ctrl+Shift+E komutuyla verileri yenileyin veya görünüm menüsünde Verileri yenile'yi tıklayın. Artık grafiklerde Ocak 2024'e ait verileri görmeniz gerekir.

Bunun dışında oluşturabileceğiniz birçok grafik ve metrik çeşidi vardır. Daha fazla bilgi için Looker belgelerine göz atın.

9. Temizleme

Bu eğitimde kullanılan kaynaklar için Google Cloud hesabınızın ücretlendirilmesini önlemek amacıyla kaynakları içeren projeyi silin veya projeyi koruyup tek tek kaynakları silin.

Değişiklik akışı ardışık düzenini durdurma

  1. Google Cloud Console'da Dataflow İşleri sayfasına gidin.
  2. İş listesinden yayın işinizi seçin.
  3. Gezinme bölümünde Durdur'u tıklayın.
  4. İşi durdur iletişim kutusunda İptal'i seçin ve ardından İşi durdur'u tıklayın.

Bigtable kaynaklarını silme

Bu eğitim için bir Bigtable örneği oluşturduysanız bu örneği silebilir veya oluşturduğunuz tabloyu temizleyebilirsiniz.

  1. Google Cloud Console'da Bigtable örnekleri sayfasına gidin.
  2. Bu eğitim için kullandığınız örneğin kimliğini tıklayın.
  3. Sol gezinme bölmesinde Tablolar'ı tıklayın.
  4. retail-database tablosunu bulun.
  5. Düzenle'yi tıklayın.
  6. Değişiklik akışını etkinleştir'in işaretini kaldırın.
  7. Kaydet'i tıklayın.
  8. Tablonun taşma menüsünü açın.
  9. Onaylamak için Sil'i tıklayın ve tablo adını girin.
  10. İsteğe bağlı: Bu eğitim için yeni bir örnek oluşturduysanız örneği silin.

BigQuery veri kümesini silin.

  1. Google Cloud Console'da BigQuery sayfasına gidin.
  2. Explorer (Gezgin) panelinde veri kümesini bigtable_bigquery_tutorial bulup tıklayın.
  3. Sil'i tıklayın, "delete" yazın ve onaylamak için Sil'i tıklayın.

Sırada ne var?