Menyiapkan data dengan agen AI di codelab BigQuery

Menyiapkan data dengan agen AI di codelab BigQuery

Tentang codelab ini

subjectTerakhir diperbarui Apr 9, 2025
account_circleDitulis oleh Tim Bezold

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?

  • 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

  1. 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.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • 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.
  1. 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.

  1. Untuk mengaktifkan Gemini for Google Cloud API, buka halaman Gemini for Google Cloud di Google Cloud Marketplace. Buka Gemini untuk Google Cloud
  2. Di pemilih project, pilih project.
  3. 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

  1. Di IAM dan Admin, pilih IAM

4477412d79f29e0b.png

  1. Pilih pengguna Anda, lalu klik ikon pensil untuk 'Mengedit akun utama'

5eb558e04ad12362.png

Untuk menggunakan BigQuery Data Preparation, Anda memerlukan peran dan izin berikut:

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:

  1. Akses Analytics Hub: Di Konsol Google Cloud, buka BigQuery.
  2. Di menu navigasi BigQuery, pada bagian "Governance", pilih "Analytics Hub".

6ddfac4dd863ca7b.png

  1. Telusuri Listingan: Di UI Analytics Hub, klik Telusuri Listingan."
  2. Ketik bq data preparation demo di kotak penelusuran, lalu tekan Enter.

7e0cb82b80174cdc.png

  1. Berlangganan Listingan: Pilih listingan bq data preparation demo dari hasil penelusuran.
  2. Di halaman detail listingan, klik tombol Berlangganan.
  3. Tinjau dialog konfirmasi dan perbarui project/set data jika diperlukan. Nilai defaultnya seharusnya sudah benar.

2ef0ac1e3557f2f9.png

  1. 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

  1. Temukan Set Data dan Tabel: Di panel Penjelajah, pilih project Anda, lalu temukan set data yang disertakan dalam listingan bq data preparation demo. Pilih tabel stg_product.
  2. 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.

76ace3d4b5cfc2d0.png

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

f4d93aa59a56447a.png

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.

fd4d14e4fa3c31c1.png

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.

  1. 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'')
  1. Pilih Pratinjau

c9327cfbd32247d6.png

  1. Pilih Terapkan

Selanjutnya, untuk kolom Price, mari kita konversi jenis data dari STRING ke NUMERIC.

  1. Temukan rekomendasi yang bertuliskan sesuatu yang mirip dengan:

Deskripsi: "Mengonversi kolom Harga dari string jenis ke float64"

SAFE_CAST(Price AS float64)
  1. Pilih Terapkan.

Sekarang Anda akan melihat tiga langkah yang diterapkan dalam daftar langkah.

d3359af47dce0c15.png

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

  1. Pilih bagian kategori dari entri produk termasuk karakter |, lalu hapus.

5171d598a8cb3a75.png

Gemini akan mengenali pola ini secara cerdas dan menyarankan transformasi yang akan diterapkan ke seluruh kolom.

  1. Pilih "Edit".

b36cac918b4f30e9.png

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.

  1. Di dropdown kolom target, pilih "Buat kolom baru".
  2. Tetapkan nama ke ProductName.

bda19e0e5e536ccd.png

  1. Lihat pratinjau perubahan untuk memastikan semuanya terlihat bagus.
  2. 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.

  1. Klik Add Step untuk menambahkan langkah transformasi baru.

77944047e698494c.png

  1. Pilih Transformation dari menu dropdown
  2. Di kolom perintah bahasa alami, masukkan "ekstrak kata setelah pipa (|) di kolom Produk". lalu tekan enter untuk membuat SQL.

82efc2447a3210bd.png

  1. Biarkan Kolom Target sebagai "Produk".
  2. Klik Terapkan.

Transformasi akan memberi Anda hasil berikut.

d741c66d9e0e8e00.png

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.

  1. Klik Add Step
  2. Pilih Join
  3. Buka tabel stg_extended_product.

dca14451c3fbc7f0.png

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. 4d6dbfea28772f34.png

  1. Anda juga dapat memilih Pratinjau untuk melihat pratinjau hasilnya.
  2. 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.

f9b570d7c2d3a98d.png

Sebelum membuat transformasi apa pun, periksa rekomendasi Gemini.

  1. Klik nama kolom LaunchDate. Anda akan melihat beberapa rekomendasi yang dihasilkan mirip dengan yang ada pada gambar di bawah.

62b6e6027a46ba75.png

  1. 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))
  1. Jika Anda tidak melihat rekomendasi yang cocok dengan SQL di atas, klik Add Step.
  2. Pilih Transformation.
  3. Di kolom SQL, masukkan kode berikut:
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
  1. Tetapkan Target Columns ke LaunchDate.
  2. Klik Apply.

Kolom LaunchDate kini memiliki format tanggal yang konsisten.

ccf34aa05754a834.png

9. Menambahkan tabel tujuan

Set data kita sekarang sudah bersih dan siap dimuat ke tabel dimensi di data warehouse.

  1. Klik ADD STEP.
  2. Pilih Destination.
  3. Isi parameter yang diperlukan: Set Data: bq_data_preparation_demo Tabel: DimProduct
  4. Klik Save.

79fdc3666a3a21b9.png

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.

95e64d8152228f7b.png

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

  1. Klik tombol More di samping judul stg_product data preparation.
  2. Di bagian Setting, pilih Error Table.
  3. 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, pilih 30 days (default)
  1. Klik Save.

adb5722f05c1b205.png

Menyiapkan validasi di kolom Produsen

  1. Pilih kolom Produsen.
  2. 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.

4749b551a03d8193.png

  1. Centang opsi "Baris validasi yang gagal akan diarahkan ke tabel error" jika belum dicentang
  2. Klik Apply.

Kapan saja, Anda dapat meninjau, mengubah, atau menghapus transformasi yang telah diterapkan dengan mengklik tombol "Langkah yang diterapkan".

15df6caacbdd6a69.png

Membersihkan kolom ProductID_1 yang redundan

Kolom ProductID_1, yang menduplikasi ProductID dari tabel gabungan, kini dapat dihapus.

  1. Buka tab Schema
  2. Klik 3 titik di samping kolom ProductID_1.
  3. 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.

  1. Sebelum keluar dari tampilan persiapan data, Simpan persiapan Anda. Di samping judul stg_product data preparation, Anda akan melihat tombol Save. 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