Menganalisis dan memvisualisasikan data transaksi kartu kredit di Bigtable menggunakan BigQuery dan Looker

1. Ringkasan

Codelab ini memandu Anda menganalisis aliran data transaksi kartu kredit yang ditulis ke Bigtable. Anda akan mempelajari cara menggunakan template streaming perubahan Bigtable ke BigQuery untuk mengekspor data secara real-time. Kemudian, Anda akan melihat teknik untuk mengkueri log aliran perubahan dan cara memformat ulang data untuk membuat dasbor menggunakan Looker.

Codelab ini ditujukan bagi pengguna teknis yang sudah memahami Bigtable, menggunakan alat command line, dan layanan streaming peristiwa.

426dc59200875a20.png

Codelab ini menunjukkan cara melakukan hal berikut:

  • Buat tabel Bigtable dengan aliran perubahan yang diaktifkan.
  • Membuat set data BigQuery.
  • Deploy template Dataflow Bigtable change streams to BigQuery.
  • Kueri aliran peristiwa di BigQuery.
  • Visualisasikan aliran peristiwa dengan Looker.

Diagram ini menunjukkan arsitektur sistem yang akan Anda deploy.

336e940307d0e0a.png

2. Penyiapan project

  1. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

eb5309715175de69.png

  1. Pastikan penagihan diaktifkan untuk project Google Cloud Anda.
  2. Buka halaman pengaktifan API yang sudah diisi otomatis ini untuk mengaktifkan API yang diperlukan untuk Dataflow, Bigtable, BigQuery, Looker, dan Cloud Storage.

3. Membuat set data BigQuery

Anda akan menganalisis data menggunakan BigQuery di bagian selanjutnya dalam codelab ini. Ikuti petunjuk ini untuk membuat set data bagi output pipeline data Anda.

  1. Di konsol Google Cloud, buka halaman BigQuery.
  2. Di panel Explorer, temukan nama project Anda, lalu klik menu tambahan (tiga titik vertikal di samping ID project).
  3. Klik Create dataset.

122bc1a411b8dc63.png

  1. Di panel Create dataset, lakukan hal berikut:
  • Untuk Dataset ID, masukkan bigtable_bigquery_tutorial.
  • Biarkan setelan default yang tersisa seperti apa adanya.
  • Klik Create dataset.

4. Membuat tabel Bigtable dengan aliran perubahan yang diaktifkan

Bigtable adalah layanan database NoSQL berlatensi rendah dan dapat diskalakan secara horizontal, dan salah satu kasus penggunaannya yang umum adalah menyajikan data keuangan. Di sini, Anda akan membuat tabel yang dapat menyimpan transaksi kartu kredit. Bigtable dapat menangani penulisan throughput tinggi transaksi di seluruh dunia dan bahkan dapat menggunakan data tersebut untuk deteksi penipuan real-time.

  1. Di konsol Google Cloud, buka halaman Instance Bigtable.
  2. Klik ID instance yang Anda gunakan untuk tutorial ini. Jika Anda tidak memiliki instance yang tersedia, buat instance dengan nama pilihan Anda di region terdekat. Anda dapat menggunakan konfigurasi default untuk hal lainnya.

a2e8de7b66dc42e.png

  1. Di panel navigasi kiri, klik Tabel.
  2. Klik Create table.

9c267c00f93747c4.png

  • Beri nama tabel retail-database.
  • Tambahkan grup kolom bernama transactions.
  • Pilih Aktifkan aliran perubahan.
  • Biarkan kebijakan pembersihan sampah memori dan periode retensi dengan nilai defaultnya.
  • Klik Buat.

696cd1399c354816.png

5. Menginisialisasi pipeline data untuk merekam aliran perubahan

Performa Bigtable optimal untuk pembacaan titik dan pemindaian rentang baris, tetapi analisis di seluruh tabel dapat membebani kapasitas penayangan dan resource CPU. BigQuery sangat cocok untuk analisis seluruh tabel, jadi solusi yang akan Anda gunakan di sini adalah penulisan ganda. Artinya, Anda akan menulis data ke Bigtable dan BigQuery, yang merupakan teknik umum. Tindakan ini tidak memerlukan pengodean tambahan karena Anda akan menggunakan template Dataflow Bigtable change streams to BigQuery: saat data ditulis ke Bigtable, pipeline akan menulis rekaman perubahan di BigQuery. Setelah data berada di BigQuery, Anda dapat menjalankan kueri yang dioptimalkan di seluruh set data yang tidak akan memengaruhi performa data penayangan di Bigtable.

f4cd9d8faf10ce77.png

  1. Di halaman Tables Bigtable, cari tabel Anda retail-database.
  2. Di kolom Change stream, klik Connect.
  3. Di dialog Connect with Dataflow, pilih BigQuery.
  4. Klik Buat tugas Dataflow.
  5. Di kolom parameter yang disediakan, masukkan nilai parameter Anda. Anda tidak perlu memberikan parameter opsional apa pun.
  • Tetapkan ID profil aplikasi Cloud Bigtable ke default.
  • Tetapkan set data BigQuery ke bigtable_bigquery_tutorial.
  1. Klik Jalankan tugas.
  2. Tunggu hingga status tugas menjadi Starting atau Running sebelum melanjutkan. Proses ini dapat memakan waktu sekitar lima menit setelah tugas dimasukkan dalam antrean. Halaman akan otomatis diperbarui. Template ini membuat tugas streaming, sehingga dapat terus memproses data baru yang ditulis ke Bigtable hingga tugas dihentikan secara manual.

a04908b37c6fe96b.png

6. Menulis beberapa data ke Bigtable

Sekarang, Anda akan menulis transaksi kartu kredit selama setahun ke tabel Bigtable. Contoh set data ini mencakup informasi seperti nomor kartu kredit, nama dan ID penjual, serta jumlah. Dalam aplikasi pemrosesan kartu kredit yang sebenarnya, data ini akan di-streaming ke database Anda secara real time saat setiap transaksi terjadi.

  1. Buka Cloud Shell dengan mengklik tombol di pojok kanan atas konsol cloud.

f6395329b04ecb64.png

  1. Jika diminta, setujui perintah untuk memberikan otorisasi pada Cloud Shell.
  2. Download set data.
gsutil cp gs://cloud-bigtable-public-datasets/change-streams-tutorial/cc-transactions-2023.csv .
  1. Menetapkan variabel lingkungan di command line
PROJECT_ID=your-project-id
BIGTABLE_INSTANCE_ID=your-bigtable-instance-id
  1. Gunakan CLI cbt untuk menulis sejumlah transaksi kartu kredit ke tabel retail-database.
cbt -instance=$BIGTABLE_INSTANCE_ID -project=$PROJECT_ID import \
retail-database cc-transactions-2023.csv  column-family=transactions

Output-nya akan menampilkan

Done importing 10000 rows.

7. Melihat log perubahan di BigQuery

  1. Di konsol Google Cloud, buka halaman BigQuery.
  2. Di panel Explorer, luaskan project Anda dan set data bigtable_bigquery_tutorial.
  3. Klik tabel retail-database_changelog. Anda mungkin perlu memuat ulang set data jika tabel tidak ada.
  4. Untuk melihat log perubahan, klik Pratinjau.

aa97ff01f944832.png

Mencoba beberapa kueri

Sekarang, Anda dapat menjalankan beberapa kueri pada set data ini untuk mendapatkan beberapa insight. Kueri SQL disediakan di sini, tetapi dokumentasi Mengirim kueri log perubahan Bigtable di BigQuery memiliki informasi selengkapnya tentang cara menulis kueri untuk data log perubahan.

Mencari satu transaksi

Gunakan kueri berikut untuk mencari data satu transaksi tertentu.

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

Anda akan melihat bahwa setiap kolom yang ditulis telah diubah menjadi baris individual di BigQuery.

Menemukan jumlah pembelian di setiap kategori

Gunakan kueri berikut untuk menghitung jumlah pembelian per kategori.

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

Memformat ulang data

Untuk merekonstruksi setiap transaksi menjadi satu baris tabel BigQuery, Anda akan memutar data dan menyimpan hasilnya ke tabel baru. Ini adalah format yang lebih mudah dikueri.

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")
    )
)

Membuat dasbor Looker

  1. Klik Buka tampilan untuk membuka halaman detail tampilan baru.
  2. Klik Ekspor.
  3. Pilih Jelajahi dengan Looker Studio

bb45482e9101b0f.png

8. Menambahkan diagram ke dasbor

Sekarang Anda dapat membuat grafik informasi agar lebih mudah dipahami dan dibagikan sebagai laporan. Anda akan menambahkan tiga diagram ke dasbor:

  • Jumlah transaksi dari waktu ke waktu
  • Total transaksi untuk setiap penjual
  • Persentase transaksi per kategori

426dc59200875a20.png

Menyiapkan halaman

  1. Klik setiap diagram yang ada dan tekan hapus untuk menghapusnya.
  2. Pilih Properti di sisi kanan halaman, sehingga Anda dapat mengubah data grafik.

Menambahkan diagram

Jumlah transaksi dari waktu ke waktu

  1. Klik Tambahkan diagram, lalu buat diagram deret waktu.
  2. Tetapkan Dimension ke transaction_date.
  1. Tetapkan Metrik ke sales_dollars.

372bdf2a2bcdb817.png

Total transaksi untuk setiap penjual

  1. Klik Tambahkan diagram, lalu buat tabel.
  2. Tetapkan Dimension ke merchant.
  3. Tetapkan Metrik ke sales_dollars

Persentase transaksi per kategori

  1. Klik Tambahkan diagram, lalu buat diagram lingkaran.
  2. Tetapkan Dimension ke category.
  3. Tetapkan Metrik ke sales_dollars

Melihat perubahan real-time

Luangkan waktu dan jelajahi nilai dalam grafik. Anda dapat mengklik penjual tertentu dalam tabel atau kategori tertentu dalam tabel yang akan menyebabkan semua diagram difilter berdasarkan nilai tertentu tersebut sehingga memberi Anda lebih banyak insight. Selanjutnya, Anda dapat menulis lebih banyak data dan melihat cara grafik ini diperbarui secara real time.

  1. Kembali ke Cloud Shell Anda.
  2. Download dan tulis set data kedua.
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. Kembali ke dasbor Looker Anda, lalu muat ulang data dengan perintah Ctrl+Shift+E atau klik Muat ulang data di menu tampilan. Sekarang Anda akan melihat data untuk Januari 2024 dalam diagram.

Ada banyak variasi grafik dan metrik yang dapat Anda buat di luar ini. Baca selengkapnya di dokumentasi Looker.

9. Pembersihan

Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource tersebut, atau simpan project dan hapus setiap resource.

Menghentikan pipeline aliran perubahan

  1. Di konsol Google Cloud, buka halaman Dataflow Jobs.
  2. Pilih tugas streaming Anda dari daftar tugas.
  3. Di navigasi, klik Berhenti.
  4. Dalam dialog Stop job, pilih Cancel, lalu klik Stop job.

Menghapus resource Bigtable

Jika Anda membuat instance Bigtable untuk tutorial ini, Anda dapat menghapusnya, atau Anda dapat membersihkan tabel yang Anda buat.

  1. Di konsol Google Cloud, buka halaman Instance Bigtable.
  2. Klik ID instance yang Anda gunakan untuk tutorial ini.
  3. Di panel navigasi kiri, klik Tabel.
  4. Temukan tabel retail-database.
  5. Klik Edit.
  6. Hapus centang Aktifkan aliran perubahan.
  7. Klik Simpan.
  8. Buka menu tambahan untuk tabel.
  9. Klik Hapus dan masukkan nama tabel untuk mengonfirmasi.
  10. Opsional: Hapus instance jika Anda membuat instance baru untuk tutorial ini

Menghapus set data BigQuery

  1. Di konsol Google Cloud, buka halaman BigQuery.
  2. Di panel Explorer, temukan set data bigtable_bigquery_tutorial, lalu klik.
  3. Klik Hapus, ketik hapus, lalu klik Hapus untuk mengonfirmasi.

Langkah berikutnya