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.

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.

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

- Google Cloud projeniz için faturalandırmanın etkinleştirildiğinden emin olun.
- 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.
- Google Cloud Console'da BigQuery sayfasına gidin.
- Gezgin bölmesinde proje adınızı bulun ve taşma menüsünü (proje kimliğinin yanındaki üç dikey nokta) tıklayın.
- Veri kümesi oluştur'u tıklayın.

- Veri kümesi oluştur panelinde aşağıdakileri yapın:
- Veri kümesi kimliği için
bigtable_bigquery_tutorialdeğ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.
- Google Cloud Console'da Bigtable örnekleri sayfasına gidin.
- 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.

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

- Tabloyu
retail-databaseolarak adlandırın. transactionsadlı 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.

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.

- Bigtable Tablolar sayfasında tablonuzu
retail-databasebulun. - Değişiklik akışı sütununda Bağlan'ı tıklayın.
- Dataflow ile bağlanın iletişim kutusunda BigQuery'yi seçin.
- Dataflow işi oluştur'u tıklayın.
- Sağlanan parametre alanlarına parametre değerlerinizi girin. İsteğe bağlı parametreler sağlamanız gerekmez.
- Cloud Bigtable uygulama profili kimliğini
defaultolarak ayarlayın. - BigQuery veri kümesini
bigtable_bigquery_tutorialolarak ayarlayın.
- İşi çalıştır'ı tıklayın.
- 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.

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.
- Cloud Console'un sağ üst köşesindeki düğmeyi tıklayarak Cloud Shell'i açın.

- İstenirse Cloud Shell'e yetki verme istemini kabul edin.
- Veri kümesini indirin.
gsutil cp gs://cloud-bigtable-public-datasets/change-streams-tutorial/cc-transactions-2023.csv .
- Ortam değişkenlerinizi komut satırında ayarlama
PROJECT_ID=your-project-id
BIGTABLE_INSTANCE_ID=your-bigtable-instance-id
cbtCLI'yı kullanarakretail-databasetablosuna 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
- Google Cloud Console'da BigQuery sayfasına gidin.
- Gezgin bölmesinde projenizi ve veri kümesini genişletin
bigtable_bigquery_tutorial. - Tabloyu tıklayın
retail-database_changelog. Tablo yoksa veri kümesini yenilemeniz gerekebilir. - Değişiklik günlüğünü görmek için Önizleme'yi tıklayın.

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
- Yeni görünümün ayrıntılar sayfasına gitmek için Görünüme git'i tıklayın.
- Dışa aktar'ı tıklayın.
- Looker Studio ile keşfet'i seçin.

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

Sayfayı ayarlama
- Mevcut her grafiği tıklayın ve silmek için Sil tuşuna basın.
- Grafik verilerini değiştirebilmek için sayfanın sağ tarafındaki Tesisler'i seçin.
Grafikleri ekleme
Zaman içindeki işlem tutarları
- Grafik ekle'yi tıklayın ve bir zaman serisi grafiği oluşturun.
- Boyut'u
transaction_dateolarak ayarlayın.
- Metrik'i
sales_dollarsolarak ayarlayın.

Her satıcının toplam işlem sayısı
- Grafik ekle'yi tıklayın ve bir tablo oluşturun.
- Boyut'u
merchantolarak ayarlayın. - Metrik'i
sales_dollarsolarak ayarlayın.
Kategori başına işlem yüzdesi
- Grafik ekle'yi tıklayın ve pasta grafiği oluşturun.
- Boyut'u
categoryolarak ayarlayın. - Metrik'i
sales_dollarsolarak 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.
- Cloud Shell'inize geri dönün.
- İ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
- Looker kontrol panelinize dönün ve
Ctrl+Shift+Ekomutuyla 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
- Google Cloud Console'da Dataflow İşleri sayfasına gidin.
- İş listesinden yayın işinizi seçin.
- Gezinme bölümünde Durdur'u tıklayın.
- İş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.
- Google Cloud Console'da Bigtable örnekleri sayfasına gidin.
- Bu eğitim için kullandığınız örneğin kimliğini tıklayın.
- Sol gezinme bölmesinde Tablolar'ı tıklayın.
retail-databasetablosunu bulun.- Düzenle'yi tıklayın.
- Değişiklik akışını etkinleştir'in işaretini kaldırın.
- Kaydet'i tıklayın.
- Tablonun taşma menüsünü açın.
- Onaylamak için Sil'i tıklayın ve tablo adını girin.
- İsteğe bağlı: Bu eğitim için yeni bir örnek oluşturduysanız örneği silin.
BigQuery veri kümesini silin.
- Google Cloud Console'da BigQuery sayfasına gidin.
- Explorer (Gezgin) panelinde veri kümesini
bigtable_bigquery_tutorialbulup tıklayın. - Sil'i tıklayın, "delete" yazın ve onaylamak için Sil'i tıklayın.