Menyiapkan data dengan agen AI di codelab BigQuery

1. Pengantar

Bayangkan Anda dapat menyiapkan data untuk analisis dengan lebih cepat dan efisien tanpa harus menjadi pakar coding. Dengan BigQuery Data Preparation, hal itu dapat terwujud. Fitur canggih ini menyederhanakan penyerapan, transformasi, dan pembersihan data, sehingga persiapan data dapat dilakukan oleh semua praktisi data di organisasi Anda.

Siap mengungkap rahasia yang tersembunyi dalam data produk Anda?

Prasyarat

  • Pemahaman dasar tentang Konsol Google Cloud
  • Pemahaman dasar tentang SQL

Yang akan Anda pelajari

  • Cara penyiapan data BigQuery dapat membersihkan dan mengubah data mentah Anda menjadi intelijen bisnis yang dapat 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. Penyiapan dasar dan Persyaratan

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 for 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 Enable. Halaman 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 and Admin, pilih IAM

4477412d79f29e0b.png

  1. Pilih pengguna Anda, lalu klik ikon pensil untuk 'Edit principal'

5eb558e04ad12362.png

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

4. Menemukan dan Berlangganan Listingan "bq data preparation demo" di Analytics Hub BigQuery

Kita akan menggunakan set data bq data preparation demo untuk tutorial ini. Set data ini adalah set data tertaut di BigQuery Analytics Hub yang akan kita baca.

Persiapan 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 agar biaya tetap minimal,tetapi penyiapan data berjalan di BigQuery dan akan diskalakan bersamaan.

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, di bagian "Tata Kelola", 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 default harus 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 penyiapan data

  1. Cari Set Data dan Tabel: Di panel Explorer, pilih project Anda, lalu temukan set data yang disertakan dalam listingan bq data preparation demo. Pilih tabel stg_product.
  2. Buka di Penyiapan Data: Klik tiga titik vertikal di samping nama tabel, lalu pilih Open in Data Preparation.

Tindakan ini akan membuka tabel di antarmuka Persiapan Data, sehingga Anda siap memulai transformasi data.

76ace3d4b5cfc2d0.png

Seperti yang dapat Anda lihat di pratinjau data di bawah, kami memiliki beberapa tantangan data yang akan kami atasi, termasuk:

  • Kolom harga berisi jumlah dan mata uang, sehingga sulit dianalisis.
  • Kolom produk mencampurkan nama dan kategori produk (dipisahkan dengan simbol pipa |).

f4d93aa59a56447a.png

Segera, Gemini 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 Harga. 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 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 Harga, mari kita konversi jenis data dari STRING ke NUMERIC.

  1. Temukan rekomendasi yang mirip dengan:

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

SAFE_CAST(Price AS float64)
  1. Pilih Terapkan.

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

d3359af47dce0c15.png

7. Menangani Kolom Produk

Kolom produk berisi nama dan kategori produk, yang dipisahkan dengan garis vertikal (|).

Meskipun kita dapat menggunakan bahasa alami lagi, mari kita pelajari fitur canggih Gemini lainnya.

Membersihkan nama produk

  1. Pilih bagian kategori entri produk termasuk karakter | dan hapus.

5171d598a8cb3a75.png

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

  1. Pilih "Edit".

b36cac918b4f30e9.png

Rekomendasi Gemini sangat tepat: Gemini menghapus semua karakter 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 bahasa alami, kita akan menginstruksikan Gemini untuk mengekstrak kata setelah tanda pipa (|) di kolom Produk. Nilai yang diekstrak ini akan ditimpa ke dalam 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 "extract the word after the pipe (|) in the Product column.", lalu tekan enter untuk membuat SQL.

82efc2447a3210bd.png

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

Transformasi akan memberikan 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. Jelajahi tabel stg_extended_product.

dca14451c3fbc7f0.png

Gemini in BigQuery secara otomatis memilih kunci gabungan productid untuk kita dan memenuhi syarat sisi kiri dan kanan karena nama kuncinya identik.

Catatan: Pastikan kolom deskripsi bertuliskan 'Join by productid'. Jika menyertakan kunci gabungan tambahan, ganti kolom deskripsi menjadi 'Gabungkan menurut productid' dan pilih tombol buat di kolom deskripsi untuk membuat ulang ekspresi gabungan dengan kondisi berikut L.

productid

= R.

productid. 4d6dbfea28772f34.png

  1. Anda juga dapat memilih Pratinjau untuk melihat pratinjau hasilnya.
  2. Klik Apply.

Membersihkan atribut tambahan

Meskipun penggabungan berhasil, data atribut tambahan 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 serupa dengan yang ada di 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 berikut ini:
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

Kumpulan data kita sekarang sudah bersih dan siap dimuat ke dalam tabel dimensi di gudang data.

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

79fdc3666a3a21b9.png

Sekarang kita telah menggunakan tab "Data" dan "Skema". Selain itu, Persiapan Data BigQuery menyediakan tampilan "Grafik" yang menampilkan urutan langkah-langkah transformasi dalam pipeline Anda secara visual.

95e64d8152228f7b.png

10. Bonus A: Menangani kolom Produsen dan membuat Tabel Error

Kami juga 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, konfigurasi 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 pada kolom Produsen

  1. Pilih kolom Produsen.
  2. Gemini kemungkinan akan mengidentifikasi transformasi yang relevan. Temukan rekomendasi yang hanya menyimpan baris dengan kolom Produsen yang tidak kosong. SQL-nya akan terlihat seperti:
Manufacturer IS NOT NULL

2.Klik tombol "Edit" pada rekomendasi ini untuk meninjaunya.

4749b551a03d8193.png

  1. Centang opsi "Baris yang gagal validasi masuk ke tabel error" jika opsi tersebut tidak 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 berlebihan

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

  1. Buka tab Schema
  2. Klik 3 titik di samping kolom ProductID_1.
  3. Klik Drop.

Sekarang kita siap menjalankan tugas penyiapan data dan memvalidasi seluruh pipeline. Setelah puas dengan hasilnya, kita dapat menjadwalkan tugas untuk dijalankan secara otomatis.

  1. Sebelum keluar dari tampilan penyiapan data, Simpan penyiapan Anda. Di samping judul stg_product data preparation, Anda akan melihat tombol Save. Klik tombol untuk menyimpan.

11. Membersihkan lingkungan

  • Hapus stg_product data preparation
  • Hapus set data bq data preparation demo

12. Selamat

Selamat, Anda telah menyelesaikan codelab.

Yang telah kita bahas

  • Menyiapkan persiapan data
  • Membuka tabel dan menavigasi persiapan data
  • Memisahkan kolom dengan data deskriptor numerik dan unit
  • Menyeragamkan format tanggal
  • Menjalankan persiapan data