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

1. Genel Bakış

Bu codelab'de, Bigtable'e yazılan bir kredi kartı işlem verisi akışının analiz edilmesi konusunda size yol gösterilmektedir. Verileri gerçek zamanlı olarak dışa aktarmak için Bigtable değişiklik akışlarını BigQuery şablonuna nasıl ekleyeceğinizi öğreneceksiniz. Ardından, değişiklik akışı günlüğünü sorgulama teknikleri ve Looker kullanarak kontrol paneli oluşturmak için verileri yeniden biçimlendirme hakkında bilgi edineceksiniz.

Bu codelab, Bigtable'e aşina olan, komut satırı araçlarını ve etkinlik aktarma hizmetlerini kullanan teknik kullanıcılar için hazırlanmıştır.

426dc59200875a20.png

Bu codelab'de aşağıdakileri nasıl yapacağınız gösterilmektedir:

  • Değişiklik akışının etkin olduğu 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'daki proje seçici sayfasında bir Google Cloud projesi seçin veya oluşturun.

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 bu önceden doldurulmuş API etkinleştirme sayfasını ziyaret edin.

3. Bir BigQuery veri kümesi oluşturma

Kod laboratuvarının ilerleyen bölümlerinde BigQuery'yi kullanarak verileri analiz edeceksiniz. Veri ardışık düzeninizin çıkışı için veri kümesini oluşturmak üzere aşağıdaki talimatları uygulayın.

  1. Google Cloud Console'da BigQuery sayfasına gidin.
  2. Gezgin bölmesinde projenizin adını 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 girin.
  • Geri kalan varsayılan ayarları olduğu gibi bırakın.
  • Veri kümesi oluştur'u tıklayın.

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

Bigtable, düşük gecikmeli, yatay olarak ölçeklenebilir bir NoSQL veritabanı hizmetidir. Finansal verileri sunmak, bu hizmetin yaygın kullanım alanlarından biridir. Burada, kredi kartı işlemlerini depolayabilecek bir tablo oluşturacaksınız. Bigtable, dünya genelindeki işlemlerin yüksek veri aktarım hızına sahip yazma işlemlerini yönetebilir ve hatta bu verileri anlık sahtekarlık algılama için kullanabilir.

  1. Google Cloud konsolunda Bigtable Örnekler 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 yakınınızdaki bir bölgede istediğiniz adı taşıyan bir örnek oluşturun. Diğer her şey için varsayılan yapılandırmaları kullanabilirsiniz.

a2e8de7b66dc42e.png

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

9c267c00f93747c4.png

  • Tabloya retail-database adını verin.
  • 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üzenini başlatın

Bigtable'in performansı, nokta okuma ve satır aralığı taramaları için idealdir ancak tablo genelindeki analizler, sunma kapasitesini ve CPU kaynaklarını zorlayabilir. BigQuery, tablo genelindeki analizler için mükemmeldir. Bu nedenle, burada kullanacağınız çözüm çift yazmadır. Yani verilerinizi Bigtable ve BigQuery'ye yazacaksınız. Bu yöntem, yaygın olarak kullanılan bir tekniktir. Bigtable change streams to BigQuery Dataflow şablonunu kullanacağınız için bu işlem için ek kodlama gerekmez: Veriler Bigtable'e yazıldığında ardışık düzen BigQuery'ye bir değişiklik kaydı yazar. Veriler BigQuery'ye aktarıldıktan sonra, veri kümenizin tamamında Bigtable'de sunduğunuz verilerin performansını etkilemeyecek şekilde optimize edilmiş sorgular yapabilirsiniz.

f4cd9d8faf10ce77.png

  1. Bigtable Tablolar sayfasında retail-database tablonuzu bulun.
  2. Akışı değiştir sütununda Bağlan'ı tıklayın.
  3. Dataflow ile bağlan 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ı parametre sağlamanıza gerek yoktur.
  • 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 olana kadar bekleyin. İşin sıraya alınması yaklaşık beş dakika sürebilir. Sayfa otomatik olarak güncellenir. Bu şablon bir akış işi oluşturur. Bu sayede, iş manuel olarak durdurulana kadar Bigtable'e yazılan yeni verileri sürekli olarak işleyebilir.

a04908b37c6fe96b.png

6. Bigtable'a veri yazma

Şimdi, bir yıla ait kredi kartı işlemlerini Bigtable tablonuza yazacaksınız. Bu örnek veri kümesi; kredi kartı numarası, satıcı adı ve kimliği ve tutar gibi bilgileri içerir. Gerçek bir kredi kartı işleme başvurusunda, bu veriler her işlem gerçekleştikçe veritabanınıza gerçek zamanlı olarak 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. retail-database tablosuna birkaç kredi kartı işlemi yazmak için cbt CLI'yi kullanın.
cbt -instance=$BIGTABLE_INSTANCE_ID -project=$PROJECT_ID import \
retail-database cc-transactions-2023.csv  column-family=transactions

Çıktı

Done importing 10000 rows.

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

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

aa97ff01f944832.png

Birkaç sorgu deneyin

Artık bazı analizler elde etmek için bu veri kümesi üzerinde birkaç sorgu çalıştırabilirsiniz. SQL sorguları burada sağlanmıştır ancak BigQuery'de Bigtable değişiklik günlüğünü sorgulayın dokümanında, değişiklik günlüğü verileri için sorgu yazma hakkında daha fazla bilgi verilmektedir.

Bir işlemi arama

Belirli bir işlemin verilerini 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 işlemlerinin sayısını bulma

Kategori başına satın alma sayısını saymak 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 tablo satırında yeniden oluşturmak için verileri pivot yapar ve bu sonucu yeni bir tabloya kaydedersiniz. Bu, sorgu için daha 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 grafik hâline getirerek daha kolay anlayabilir 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 grafikleri tıklayıp silmek için sil tuşuna basın.
  2. Grafik verilerini değiştirebilmek için sayfanın sağ tarafından Özellikler'i seçin.

Grafikleri ekleme

Zaman içindeki işlem tutarları

  1. Grafik ekle'yi tıklayın ve 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şlemi

  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 bir pasta grafik 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

Grafiklerdeki değerleri incelemek için biraz zaman ayırın. Tablodaki belirli satıcıları veya tablodaki belirli kategorileri tıklayabilirsiniz. Bu durumda, tüm grafikler söz konusu değerlere göre filtreleyerek daha fazla analiz elde etmenizi sağlar. Ardından, daha fazla veri yazabilir ve bu grafiğin gerçek zamanlı olarak nasıl güncelleneceğini görebilirsiniz.

  1. Cloud Shell'inize 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üntüleme menüsünde Verileri yenile'yi tıklayın. Artık grafiklerde Ocak 2024'e ait verileri görebilirsiniz.

Bunun dışında oluşturabileceğiniz birçok grafik ve metrik varyasyonu vardır. Daha fazla bilgi için Looker belgelerini inceleyin.

9. Temizleme

Bu eğiticide kullanılan kaynaklar için Google Cloud hesabınızın ücretlendirilmesini istemiyorsanız kaynakları içeren projeyi silin veya projeyi saklayıp kaynakları tek tek silin.

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

  1. Google Cloud Console'da Dataflow İşler sayfasına gidin.
  2. İş listesinden aktarma işinizi seçin.
  3. Gezinme menüsü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ı silin

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

  1. Google Cloud konsolunda Bigtable Örnekler 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'i temizleyin.
  7. Kaydet'i tıklayın.
  8. Tablonun taşma menüsünü açın.
  9. Sil'i tıklayın ve onaylamak için 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 silme

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

Sırada ne var?