1. Ringkasan
Codelab ini memandu Anda menganalisis aliran data transaksi kartu kredit yang ditulis ke Bigtable. Anda akan mempelajari cara menggunakan template aliran data perubahan ke BigQuery untuk mengekspor data secara real-time. Kemudian, Anda akan melihat teknik untuk membuat kueri 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.
Codelab ini menunjukkan cara melakukan hal berikut:
- Buat tabel Bigtable dengan aliran data perubahan diaktifkan.
- Membuat set data BigQuery.
- Men-deploy template Dataflow
Bigtable change streams to BigQuery.
- Buat kueri aliran peristiwa di BigQuery.
- Visualisasikan aliran peristiwa dengan Looker.
Diagram ini menunjukkan arsitektur sistem yang akan Anda deploy.
2. Penyiapan project
- Di Konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
- Pastikan penagihan diaktifkan untuk project Google Cloud Anda.
- Buka halaman pengaktifan API yang telah 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 nanti di codelab. Ikuti petunjuk ini untuk membuat set data bagi output pipeline data Anda.
- Di konsol Google Cloud, buka halaman BigQuery.
- Di panel Explorer, temukan nama project Anda, lalu klik menu tambahan (tiga titik vertikal di samping project ID).
- Klik Create dataset.
- Di panel Create dataset, lakukan hal berikut:
- Untuk Dataset ID, masukkan
bigtable_bigquery_tutorial
. - Biarkan setelan default yang tersisa seperti semula.
- Klik Create dataset.
4. Membuat tabel Bigtable dengan aliran data perubahan yang diaktifkan
Bigtable adalah layanan database NoSQL yang skalabel secara horizontal dan memiliki latensi rendah, dan salah satu kasus penggunaan yang umum adalah menayangkan data keuangan. Di sini, Anda akan membuat tabel yang dapat menyimpan transaksi kartu kredit. Bigtable dapat menangani penulisan transaksi dengan throughput tinggi di seluruh dunia dan bahkan dapat menggunakan data tersebut untuk deteksi penipuan secara real time.
- Di konsol Google Cloud, buka halaman Bigtable Instances.
- Klik ID instance yang Anda gunakan untuk tutorial ini. Jika Anda tidak memiliki instance, buat instance dengan nama yang Anda pilih di wilayah yang dekat dengan Anda. Anda dapat menggunakan konfigurasi default untuk yang lainnya.
- Di panel navigasi kiri, klik Tables.
- Klik Create table.
- Beri nama tabel
retail-database
. - Tambahkan keluarga kolom bernama
transactions
. - Pilih Aktifkan aliran data perubahan.
- Biarkan kebijakan pembersihan sampah dan periode retensi dengan nilai defaultnya.
- Klik Buat.
5. Melakukan inisialisasi pipeline data untuk mengambil aliran perubahan
Performa Bigtable optimal untuk pembacaan titik dan pemindaian rentang baris, tetapi analisis seluruh tabel dapat membebani kapasitas penayangan dan resource CPU. BigQuery sangat cocok untuk analisis seluruh tabel, sehingga solusi yang akan Anda gunakan di sini adalah penulisan ganda. Artinya, Anda akan menulis data ke Bigtable dan BigQuery yang merupakan teknik umum. Hal ini tidak memerlukan coding tambahan karena Anda akan menggunakan template Dataflow Bigtable change streams to BigQuery
: saat data ditulis ke Bigtable, pipeline akan menulis data 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.
- Di halaman Tabel Bigtable, temukan tabel
retail-database
Anda. - Di kolom Change stream, klik Connect.
- Di dialog Connect with Dataflow, pilih BigQuery.
- Klik Create Dataflow job.
- Di kolom parameter yang disediakan, masukkan nilai parameter Anda. Anda tidak perlu memberikan parameter opsional.
- Tetapkan ID profil aplikasi Cloud Bigtable ke
default
. - Tetapkan set data BigQuery ke
bigtable_bigquery_tutorial
.
- Klik Run job.
- Tunggu hingga status tugasnya Starting atau Running sebelum melanjutkan. Perlu waktu sekitar lima menit setelah tugas diantrekan. Halaman akan otomatis diperbarui. Template ini membuat tugas streaming, sehingga dapat terus memproses data baru yang ditulis ke Bigtable hingga tugas dihentikan secara manual.
6. Menulis beberapa data ke Bigtable
Sekarang, Anda akan mencatat transaksi kartu kredit selama satu tahun 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.
- Buka Cloud Shell dengan mengklik tombol di pojok kanan atas konsol cloud.
- Jika diminta, setujui permintaan untuk memberikan otorisasi pada Cloud Shell.
- Unduh {i>dataset<i}:
gsutil cp gs://cloud-bigtable-public-datasets/change-streams-tutorial/cc-transactions-2023.csv .
- Menetapkan variabel lingkungan di command line
PROJECT_ID=your-project-id
BIGTABLE_INSTANCE_ID=your-bigtable-instance-id
- Gunakan CLI
cbt
untuk menulis sejumlah transaksi kartu kredit ke tabelretail-database
.
cbt -instance=$BIGTABLE_INSTANCE_ID -project=$PROJECT_ID import \
retail-database cc-transactions-2023.csv column-family=transactions
Outputnya akan menampilkan
Done importing 10000 rows.
7. Melihat log perubahan di BigQuery
- Di konsol Google Cloud, buka halaman BigQuery.
- Di panel Explorer, luaskan project Anda dan set data
bigtable_bigquery_tutorial
. - Klik tabel
retail-database_changelog
. Anda mungkin perlu memuat ulang set data jika tabel tidak ada. - Untuk melihat log perubahan, klik Pratinjau.
Mencoba beberapa kueri
Sekarang, Anda dapat menjalankan beberapa kueri pada {i>dataset<i} ini untuk mendapatkan beberapa wawasan. Kueri SQL disediakan di sini, tetapi dokumentasi Mengkueri 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 untuk 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 tiap kolom yang ditulis telah diubah menjadi satu baris tersendiri 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 dikelola untuk membuat kueri.
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
- Klik Buka tampilan untuk membuka halaman detail tampilan baru.
- Klik Ekspor.
- Pilih Jelajahi dengan Looker Studio
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
Menyiapkan halaman
- Klik setiap diagram yang ada dan tekan hapus untuk menghapusnya.
- Pilih Properti di sisi kanan halaman, sehingga Anda dapat mengubah data grafik.
Menambahkan diagram
Jumlah transaksi dari waktu ke waktu
- Klik Tambahkan diagram, lalu buat diagram deret waktu.
- Tetapkan Dimension ke
transaction_date
.
- Tetapkan Metrik ke
sales_dollars
.
Total transaksi untuk setiap penjual
- Klik Tambahkan diagram, lalu buat tabel.
- Tetapkan Dimension ke
merchant
. - Tetapkan Metrik ke
sales_dollars
Persentase transaksi per kategori
- Klik Tambahkan diagram, lalu buat diagram lingkaran.
- Tetapkan Dimension ke
category
. - Tetapkan Metrik ke
sales_dollars
Melihat perubahan secara real time
Luangkan waktu dan pelajari nilai-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 bagaimana grafik ini akan diperbarui secara real time.
- Kembali ke Cloud Shell.
- 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
- Kembali ke dasbor Looker dan muat ulang data dengan perintah
Ctrl+Shift+E
atau klik Refresh data di menu tampilan. Sekarang Anda akan melihat data untuk Januari 2024 dalam diagram.
Ada banyak variasi grafik dan metrik yang dapat Anda buat selain 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, atau simpan project dan hapus resource satu per satu.
Menghentikan pipeline aliran data perubahan
- Di konsol Google Cloud, buka halaman Tugas Dataflow.
- Pilih tugas streaming Anda dari daftar tugas.
- Di navigasi, klik Stop.
- Pada dialog Stop job, pilih Cancel, lalu klik Stop job.
Menghapus resource Bigtable
Jika membuat instance Bigtable untuk tutorial ini, Anda dapat menghapusnya, atau menghapus tabel yang dibuat.
- Di Konsol Google Cloud, buka halaman Bigtable Instance.
- Klik ID instance yang Anda gunakan untuk tutorial ini.
- Di panel navigasi kiri, klik Tables.
- Temukan tabel
retail-database
. - Klik Edit.
- Hapus centang Aktifkan aliran perubahan.
- Klik Simpan.
- Buka menu tambahan untuk tabel.
- Klik Hapus dan masukkan nama tabel untuk mengonfirmasi.
- Opsional: Hapus instance jika Anda membuat instance baru untuk tutorial ini
Menghapus set data BigQuery
- Di konsol Google Cloud, buka halaman BigQuery.
- Di panel Explorer, temukan set data
bigtable_bigquery_tutorial
lalu klik set data tersebut. - Klik Delete, ketik delete, lalu klik Delete untuk mengonfirmasi.