Tentang codelab ini
1. Pengantar
Bayangkan Anda dapat menyiapkan data untuk analisis dengan lebih cepat dan efisien tanpa harus menjadi pakar coding. Dengan Persiapan Data BigQuery, hal itu menjadi kenyataan. Fitur canggih ini menyederhanakan penyerapan, transformasi, dan pembersihan data, sehingga persiapan data dapat dilakukan oleh semua praktisi data di organisasi Anda.
Siap untuk mengungkap rahasia yang tersembunyi dalam data produk Anda?
Prasyarat
- Pemahaman dasar tentang Konsol Google Cloud
- Pemahaman dasar tentang SQL
Yang akan Anda pelajari
- Cara persiapan data BigQuery dapat membersihkan dan mengubah data mentah Anda menjadi business intelligence yang bisa ditindaklanjuti, menggunakan contoh realistis dari industri Fashion dan Kecantikan.
- Cara menjalankan dan menjadwalkan persiapan data untuk data yang telah dibersihkan
Yang Anda butuhkan
- Akun Google Cloud dan Project Google Cloud
- Browser web seperti Chrome
2. Persyaratan dan Penyiapan dasar
Penyiapan lingkungan mandiri
- Login ke Konsol Google Cloud dan buat project baru atau gunakan kembali project yang sudah ada. Jika belum memiliki akun Gmail atau Google Workspace, Anda harus membuatnya.
- Project name adalah nama tampilan untuk peserta project ini. String ini adalah string karakter yang tidak digunakan oleh Google API. Anda dapat memperbaruinya kapan saja.
- Project ID bersifat unik di semua project Google Cloud dan tidak dapat diubah (tidak dapat diubah setelah ditetapkan). Cloud Console otomatis membuat string unik; biasanya Anda tidak mementingkan kata-katanya. Di sebagian besar codelab, Anda harus merujuk Project ID-nya (umumnya diidentifikasi sebagai
PROJECT_ID
). Jika tidak suka dengan ID yang dibuat, Anda dapat membuat ID acak lainnya. Atau, Anda dapat mencobanya sendiri, dan lihat apakah ID tersebut tersedia. ID tidak dapat diubah setelah langkah ini dan tersedia selama durasi project. - Sebagai informasi, ada nilai ketiga, Project Number, yang digunakan oleh beberapa API. Pelajari lebih lanjut ketiga nilai ini di dokumentasi.
- Selanjutnya, Anda harus mengaktifkan penagihan di Konsol Cloud untuk menggunakan resource/API Cloud. Menjalankan operasi dalam codelab ini tidak akan memakan banyak biaya, bahkan mungkin tidak sama sekali. Guna mematikan resource agar tidak menimbulkan penagihan di luar tutorial ini, Anda dapat menghapus resource yang dibuat atau menghapus project-nya. Pengguna baru Google Cloud memenuhi syarat untuk mengikuti program Uji Coba Gratis senilai$300 USD.
3. Sebelum memulai
Aktifkan API
Untuk menggunakan Gemini di BigQuery, Anda harus mengaktifkan Gemini untuk Google Cloud API. Administrator layanan atau pemilik project dengan izin IAM serviceusage.services.enable
biasanya melakukan langkah ini.
- Untuk mengaktifkan Gemini for Google Cloud API, buka halaman Gemini for Google Cloud di Google Cloud Marketplace. Buka Gemini untuk Google Cloud
- Di pemilih project, pilih project.
- Klik Aktifkan. Halaman akan diperbarui dan menampilkan status Diaktifkan. Gemini di BigQuery kini tersedia di project Google Cloud yang dipilih untuk semua pengguna yang memiliki izin IAM yang diperlukan.
Menyiapkan peran dan izin untuk mengembangkan persiapan data
- Di IAM dan Admin, pilih IAM
- Pilih pengguna Anda, lalu klik ikon pensil untuk 'Mengedit akun utama'
Untuk menggunakan BigQuery Data Preparation, Anda memerlukan peran dan izin berikut:
- BigQuery Data Editor (roles/bigquery.dataEditor)
- Pelanggan Service Usage (roles/serviceusage.serviceUsageConsumer)
4. Menemukan dan Berlangganan Listingan "bq data preparation demo" di BigQuery Analytics Hub
Kita akan menggunakan set data bq data preparation demo
untuk tutorial ini. Ini adalah set data tertaut di BigQuery Analytics Hub yang akan kita baca.
Penyiapan data tidak pernah menulis kembali ke sumber dan kami akan meminta Anda untuk menentukan tabel tujuan yang akan ditulis. Tabel yang akan kita gunakan untuk latihan ini hanya memiliki 1.000 baris untuk menjaga biaya tetap minimal,tetapi persiapan data berjalan di BigQuery dan akan diskalakan bersama.
Ikuti langkah-langkah berikut untuk menemukan dan berlangganan set data tertaut:
- Akses Analytics Hub: Di Konsol Google Cloud, buka BigQuery.
- Di menu navigasi BigQuery, pada bagian "Governance", pilih "Analytics Hub".
- Telusuri Listingan: Di UI Analytics Hub, klik Telusuri Listingan."
- Ketik
bq data preparation demo
di kotak penelusuran, lalu tekan Enter.
- Berlangganan Listingan: Pilih listingan
bq data preparation demo
dari hasil penelusuran. - Di halaman detail listingan, klik tombol Berlangganan.
- Tinjau dialog konfirmasi dan perbarui project/set data jika diperlukan. Nilai defaultnya seharusnya sudah benar.
- Mengakses Set Data di BigQuery: Setelah Anda berhasil berlangganan, set data dalam listingan akan ditautkan ke project BigQuery Anda.
Kembali ke BigQuery Studio.
5. Menjelajahi data dan meluncurkan persiapan data
- Temukan Set Data dan Tabel: Di panel Penjelajah, pilih project Anda, lalu temukan set data yang disertakan dalam listingan
bq data preparation demo
. Pilih tabelstg_product
. - Buka di Persiapan Data: Klik tiga titik vertikal di samping nama tabel, lalu pilih
Open in Data Preparation
.
Tindakan ini akan membuka tabel di antarmuka Penyiapan Data, yang siap untuk Anda gunakan untuk mulai mengubah data.
Seperti yang dapat Anda lihat di pratinjau data di bawah, kami memiliki beberapa tantangan data yang akan kami tangani, termasuk:
- Kolom harga berisi jumlah dan mata uang, sehingga analisis menjadi sulit.
- Kolom produk menggabungkan nama dan kategori produk (dipisahkan dengan simbol pipa |).
Gemini akan langsung menganalisis data Anda dan menyarankan beberapa transformasi. Dalam contoh ini, kita melihat sejumlah rekomendasi. Pada langkah berikutnya, kita akan menerapkan yang kita butuhkan.
6. Menangani Kolom Harga
Mari kita bahas kolom Price. Seperti yang telah kita lihat, kolom ini berisi mata uang dan jumlah. Tujuan kita adalah memisahkannya menjadi dua kolom yang berbeda:Mata Uang dan Jumlah.
Gemini telah mengidentifikasi beberapa rekomendasi untuk kolom Harga.
- Temukan rekomendasi yang bertuliskan sesuatu yang mirip dengan:
Deskripsi: "Ekspresi ini menghapus 'USD' di awal dari kolom yang ditentukan"
REGEXP_REPLACE(Price,` `r'^USD\s',` `r'')
- Pilih Pratinjau
- Pilih Terapkan
Selanjutnya, untuk kolom Price, mari kita konversi jenis data dari STRING ke NUMERIC.
- Temukan rekomendasi yang bertuliskan sesuatu yang mirip dengan:
Deskripsi: "Mengonversi kolom Harga dari string jenis ke float64"
SAFE_CAST(Price AS float64)
- Pilih Terapkan.
Sekarang Anda akan melihat tiga langkah yang diterapkan dalam daftar langkah.
7. Menangani Kolom Produk
Kolom produk berisi nama dan kategori produk, yang dipisahkan dengan tanda hubung (|).
Meskipun kita dapat menggunakan natural language lagi, mari kita jelajahi fitur canggih Gemini lainnya.
Membersihkan nama produk
- Pilih bagian kategori dari entri produk termasuk karakter
|
, lalu hapus.
Gemini akan mengenali pola ini secara cerdas dan menyarankan transformasi yang akan diterapkan ke seluruh kolom.
- Pilih "Edit".
Rekomendasi Gemini sangat tepat: rekomendasi ini menghapus semua yang ada setelah karakter'|', sehingga secara efektif mengisolasi nama produk.
Namun, kali ini kita tidak ingin menimpa data asli.
- Di dropdown kolom target, pilih "Buat kolom baru".
- Tetapkan nama ke ProductName.
- Lihat pratinjau perubahan untuk memastikan semuanya terlihat bagus.
- Terapkan Transformasi.
Mengekstrak kategori produk
Dengan menggunakan natural language, kita akan menginstruksikan Gemini untuk mengekstrak kata setelah tanda pipa (|) di kolom Produk. Nilai yang diekstrak ini akan ditimpa ke kolom yang ada bernama Produk.
- Klik
Add Step
untuk menambahkan langkah transformasi baru.
- Pilih
Transformation
dari menu dropdown - Di kolom perintah bahasa alami, masukkan "ekstrak kata setelah pipa (|) di kolom Produk". lalu tekan enter untuk membuat SQL.
- Biarkan Kolom Target sebagai "Produk".
- Klik Terapkan.
Transformasi akan memberi Anda hasil berikut.
8. Menggabungkan untuk memperkaya data
Sering kali, Anda ingin memperkaya data dengan informasi dari sumber lain. Dalam contoh ini, kita akan menggabungkan data produk dengan atribut produk yang diperluas, stg_extended_product
, dari tabel pihak ketiga. Tabel ini mencakup detail seperti merek dan tanggal peluncuran.
- Klik
Add Step
- Pilih
Join
- Buka tabel
stg_extended_product
.
Gemini di BigQuery secara otomatis memilih kunci join productid untuk kita dan memenuhi syarat sisi kiri dan kanan karena nama kuncinya identik.
Catatan: Pastikan kolom deskripsi bertuliskan 'Gabung berdasarkan productid'. Jika menyertakan kunci join tambahan, ganti kolom deskripsi menjadi 'Gabung berdasarkan productid' dan pilih tombol buat di kolom deskripsi untuk membuat ulang ekspresi join dengan kondisi berikut L.
productid
= R.
productid
.
- Anda juga dapat memilih Pratinjau untuk melihat pratinjau hasilnya.
- Klik
Apply
.
Membersihkan atribut yang diperluas
Meskipun penggabungan berhasil, data atribut yang diperluas memerlukan pembersihan. Kolom LaunchDate
memiliki format tanggal yang tidak konsisten, dan kolom Brand
berisi beberapa nilai yang tidak ada.
Kita akan mulai dengan membahas kolom LaunchDate
.
Sebelum membuat transformasi apa pun, periksa rekomendasi Gemini.
- Klik nama kolom
LaunchDate
. Anda akan melihat beberapa rekomendasi yang dihasilkan mirip dengan yang ada pada gambar di bawah.
- Jika Anda melihat rekomendasi dengan SQL berikut, Terapkan rekomendasi tersebut dan lewati langkah berikutnya.
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
- Jika Anda tidak melihat rekomendasi yang cocok dengan SQL di atas, klik
Add Step
. - Pilih
Transformation
. - Di kolom SQL, masukkan kode berikut:
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
- Tetapkan
Target Columns
keLaunchDate
. - Klik
Apply
.
Kolom LaunchDate kini memiliki format tanggal yang konsisten.
9. Menambahkan tabel tujuan
Set data kita sekarang sudah bersih dan siap dimuat ke tabel dimensi di data warehouse.
- Klik
ADD STEP
. - Pilih
Destination
. - Isi parameter yang diperlukan: Set Data:
bq_data_preparation_demo
Tabel:DimProduct
- Klik
Save
.
Sekarang kita telah menggunakan tab "Data" dan "Skema". Selain itu, BigQuery Data Preparation menyediakan tampilan "Grafik" yang secara visual menampilkan urutan langkah transformasi dalam pipeline Anda.
10. Bonus A: Menangani kolom Produsen dan membuat Tabel Error
Kami juga telah mengidentifikasi nilai kosong di kolom Manufacturer
. Untuk data ini, kita ingin menerapkan pemeriksaan kualitas data dan memindahkannya ke tabel error untuk ditinjau lebih lanjut.
Membuat tabel error
- Klik tombol
More
di samping judulstg_product data preparation
. - Di bagian
Setting
, pilihError Table
. - Centang kotak
Enable error table
, konfigurasikan setelan sebagai berikut:
- Set data: Pilih
bq_data_preparation_demo
- Tabel: Masukkan
err_dataprep
- Di bagian
Define duration for keeping errors
, pilih30 days (default)
- Klik
Save
.
Menyiapkan validasi di kolom Produsen
- Pilih kolom Produsen.
- Gemini kemungkinan akan mengidentifikasi transformasi yang relevan. Temukan rekomendasi yang hanya menyimpan baris dengan kolom Produsen tidak kosong. SQL-nya akan mirip dengan:
Manufacturer IS NOT NULL
2.Klik tombol "Edit" pada rekomendasi ini untuk meninjaunya.
- Centang opsi "Baris validasi yang gagal akan diarahkan ke tabel error" jika belum dicentang
- Klik
Apply
.
Kapan saja, Anda dapat meninjau, mengubah, atau menghapus transformasi yang telah diterapkan dengan mengklik tombol "Langkah yang diterapkan".
Membersihkan kolom ProductID_1 yang redundan
Kolom ProductID_1, yang menduplikasi ProductID dari tabel gabungan, kini dapat dihapus.
- Buka tab
Schema
- Klik 3 titik di samping kolom
ProductID_1
. - Klik
Drop
.
Sekarang kita siap menjalankan tugas persiapan data dan memvalidasi seluruh pipeline. Setelah puas dengan hasilnya, kita dapat menjadwalkan tugas untuk berjalan secara otomatis.
- Sebelum keluar dari tampilan persiapan data, Simpan persiapan Anda. Di samping judul
stg_product data preparation
, Anda akan melihat tombolSave
. Klik tombol untuk menyimpan.
11. Membersihkan lingkungan
- Menghapus
stg_product data preparation
- Menghapus set data
bq data preparation demo
12. Selamat
Selamat, Anda telah menyelesaikan codelab.
Yang telah kita bahas
- Menyiapkan persiapan data
- Membuka tabel dan menavigasi penyiapan data
- Memisahkan kolom dengan data deskripsi numerik dan satuan
- Menstandarkan format tanggal
- Menjalankan persiapan data