Menggunakan Agen Data Engineering untuk membangun dan mengubah pipeline data
Agen Data Engineering memungkinkan Anda membuat, mengubah, dan memecahkan masalah pipeline data di BigQuery menggunakan perintah bahasa alami. Agen Data Engineering menawarkan kemampuan berikut untuk menyederhanakan alur kerja rekayasa data Anda dalam menyerap data ke BigQuery:
- Integrasi Dataform: Agen membuat dan mengatur kode pipeline data langsung dalam repositori dan ruang kerja Dataform
- Pembuatan Rencana: Agen dapat meringkas pemikirannya dan membuat rencana yang memungkinkan Anda meninjau dan memverifikasi rencana agen sebelum melanjutkan
- Validasi Kode: Agen secara otomatis memvalidasi dan memperbaiki kesalahan kompilasi kode yang dihasilkan untuk memastikan pipeline data berfungsi
- Penyiapan Data Otomatis: Agen melakukan penyiapan data dan mengubah data mentah menjadi tabel terstruktur tanpa intervensi manual.
- Petunjuk Kustom: Agen mendukung petunjuk agen kustom yang memungkinkan Anda menentukan aturan khusus dan pedoman yang dapat digunakan kembali dalam bahasa alami
- Konteks Eksternal: Agen diintegrasikan dengan Katalog Pengetahuan untuk konteks tambahan
- Kontrol Pipeline: Anda dapat meninjau dan menyesuaikan rencana agen yang dibuat sebelum tindakan apa pun dieksekusi.
- Pengoptimalan: Agen dapat mengoptimalkan performa di pipeline data Anda
- Memecahkan Masalah dan Memperbaiki: Agen dapat memecahkan masalah kegagalan pipeline dan memperbaiki kodenya.
Untuk contoh perintah lainnya yang dapat Anda gunakan dengan Agen Rekayasa Data, lihat Contoh perintah.
Batasan
Agen Data Engineering memiliki batasan berikut:
- Agen Data Engineering tidak mendukung perintah bahasa alami untuk jenis file berikut:
- Notebook
- Persiapan data
- JavaScript dalam SQLX apa pun
- Agen Data Engineering tidak dapat menjalankan pipeline. Anda harus meninjau dan menjalankan atau menjadwalkan pipeline.
- Agen Data Engineering tidak dapat memvalidasi SQL yang bergantung pada resource perantara yang tidak ada tanpa pemanggilan pipeline penuh (dipicu pengguna).
- Agen Data Engineering tidak dapat menelusuri link web atau URL apa pun yang diberikan melalui petunjuk atau perintah langsung.
- Saat mengimpor file dalam file
instruksi agen, sintaksis impor
@hanya mendukung jalur yang dimulai dengan./,/, atau huruf. - Fitur pratinjau data hanya didukung untuk
tabel, deklarasi, atau kueri dengan setelan tanda
hasOutputketrue. - Agen Data Engineering tunduk pada batasan umum teknologi AI.
Cara Agen Data Engineering menggunakan data Anda
Untuk menghasilkan respons agen yang berkualitas lebih tinggi, Agen Data Engineering dapat mengambil data dan metadata tambahan dari BigQuery dan Knowledge Catalog, termasuk baris contoh dari tabel BigQuery dan profil pemindaian data yang dibuat di Knowledge Catalog. Agen tidak menggunakan data ini untuk pelatihan; agen hanya menggunakan data ini sebagai konteks tambahan selama percakapan agen untuk menginformasikan responsnya.
Tempat Agen Data Engineering memproses data Anda
Untuk mengetahui informasi selengkapnya tentang lokasi tempat Agen Rekayasa Data memproses data Anda, lihat Tempat Gemini di BigQuery memproses data Anda.
Sebelum memulai
Sebelum Anda menggunakan Agen Data Engineering, lakukan langkah-langkah di bagian ini.
Mengaktifkan Gemini di BigQuery
Pastikan Gemini di BigQuery diaktifkan untuk projectGoogle Cloud Anda. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan Gemini di BigQuery.
Mengaktifkan API yang diperlukan
console
Aktifkan API berikut di konsol Google Cloud untuk project Google Cloud yang Anda gunakan dengan Conversational Analytics API.
Mengaktifkan Gemini Data Analytics API
gcloud
Untuk mengaktifkan Gemini Data Analytics API, Gemini for Google Cloud
API, dan BigQuery API, gunakan Google Cloud CLI
dan jalankan perintah gcloud
services enable berikut:
gcloud services enable geminidataanalytics.googleapis.com --project=PROJECT_ID gcloud services enable cloudaicompanion.googleapis.com --project=PROJECT_ID gcloud services enable bigquery.googleapis.com --project=PROJECT_ID
Ganti PROJECT_ID dengan project ID Google Cloud Anda.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan guna menggunakan Agen Data Engineering, minta administrator untuk memberi Anda peran IAM berikut pada project:
-
Editor Kode Dataform (
roles/dataform.codeEditor) -
BigQuery Job User (
roles/bigquery.jobuser) -
Pengguna Chat Stateless Gemini Data Analytics (
roles/geminidataanalytics.dataAgentStatelessUser)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini memiliki izin
geminidataanalytics.locations.useDataEngineeringAgent
yang
diperlukan untuk
menggunakan Agen Data Engineering.
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Prasyarat integrasi Knowledge Catalog
Untuk mendapatkan izin yang
diperlukan guna mengintegrasikan Agen Data Engineering dengan Knowledge Catalog,
minta administrator untuk memberi Anda peran IAM
Dataplex Catalog Editor (roles/dataplex.catalogEditor)
di project.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin
geminidataanalytics.locations.useDataEngineeringAgent
yang diperlukan untuk
mengintegrasikan Agen Data Engineering dengan Knowledge Catalog.
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Anda juga harus mengaktifkan Knowledge Catalog API.
Mengenkripsi data dengan kunci Cloud Key Management Service
Anda dapat mengenkripsi data di tingkat set data atau project dengan kunci Cloud Key Management Service yang dikelola pelanggan default di BigQuery. Untuk mengetahui informasi selengkapnya, lihat Menetapkan kunci default set data dan Menetapkan kunci default project.
Anda dapat mengenkripsi kode pipeline di tingkat project dengan menetapkan kunci Cloud Key Management Service Dataform default.
Mengonfigurasi perimeter Kontrol Layanan VPC
Jika menggunakan Kontrol Layanan VPC, Anda harus mengonfigurasi perimeter untuk melindungi Dataform, BigQuery, dan Conversational Analytics API. Untuk informasi selengkapnya, lihat Dataform, BigQuery, dan Conversational Analytics API.
Membuat pipeline data dengan Agen Data Engineering
Untuk menggunakan Agen Data Engineering di BigQuery, pilih salah satu opsi berikut:
Pipeline BigQuery
Anda dapat menggunakan Agen Data Engineering di antarmuka pipeline BigQuery dengan melakukan hal berikut:
Buka halaman BigQuery.
Di editor kueri, klik arrow_drop_down Create new > Pipeline.
Pilih opsi untuk kredensial eksekusi, lalu klik Mulai. Kredensial ini tidak digunakan oleh agen, tetapi diperlukan untuk menjalankan pipeline data yang dihasilkan.
Klik Coba pengalaman agen untuk pipeline data.
Di kolom Ask agent, masukkan perintah bahasa alami untuk membuat pipeline data, misalnya:
Create dimension tables for a taxi trips star schema from new_york_taxi_trips.tlc_green_trips_2022. Generate surrogate keys and all the descriptive attributes.Setelah Anda memasukkan perintah, klik Kirim.
Agen Data Engineering membuat pipeline data berdasarkan perintah Anda.
Agen Data Engineering membuat draf usulan pipeline data. Anda dapat mengklik node pipeline untuk meninjau kueri SQLX yang dihasilkan. Untuk menerapkan pipeline data yang disarankan agen, klik Terapkan.
Dataform
Anda dapat menggunakan Agen Rekayasa Data di Dataform dengan melakukan hal berikut:
Buka Dataform.
Pilih repositori.
Pilih atau buat ruang kerja pengembangan.
Di ruang kerja, klik Tanya Agen.
Di prompt Ask agent yang muncul, masukkan perintah bahasa alami untuk membuat pipeline data—misalnya:
Create dimension tables for a taxi trips star schema from new_york_taxi_trips.tlc_green_trips_2022. Generate surrogate keys and all the descriptive attributes.Setelah Anda memasukkan perintah, klik Kirim.
Setelah perintah Anda dikirim, Agen Rekayasa Data akan membuat pipeline data dan mengubah file SQLX Dataform berdasarkan perintah Anda. Agen menerapkan perubahan ini langsung ke file ruang kerja Anda.
Mengedit pipeline data
Untuk mengedit pipeline data, klik Tanya agen, lalu masukkan perintah yang menyarankan perubahan pada pipeline data.
Tinjau perubahan yang diusulkan oleh Agen Data Engineering, lalu klik Terapkan untuk menerapkan perubahan.
Anda juga dapat mengedit kueri SQLX secara manual dengan memilih node pipeline, lalu mengklik Buka.
Meninjau pipeline data
Anda dapat mengklik node pipeline di pipeline data yang dihasilkan oleh Agen Data Engineering untuk meninjaunya.
- Tab Konfigurasi menampilkan kueri SQLX yang dihasilkan dan terkait dengan node.
- Tab Pratinjau data menampilkan tabel input dan output file. Anda dapat melihat pratinjau transformasi data melalui node ini dengan mengklik Jalankan tugas untuk menjalankan tugas dengan atau tanpa dependensi.
Memecahkan masalah error pipeline data
Jika Anda mengalami error selama pembuatan pipeline data, pastikan Anda telah menyelesaikan semua prasyarat untuk menjalankan Agen Data Engineering. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Menjalankan investigasi Gemini Cloud Assist
Untuk pemecahan masalah pipeline lebih lanjut, Anda dapat menggunakan Agen Data Engineering untuk menjalankan analisis penyebab utama dan menyarankan rekomendasi pemecahan masalah.
Fitur ini menggunakan investigasi Gemini Cloud Assist (Pratinjau) dan hanya tersedia untuk pengguna dengan kontrak Dukungan Premium. Untuk mengetahui informasi selengkapnya tentang cara mengaktifkan investigasi Gemini Cloud Assist, lihat Memecahkan masalah terkait Investigasi Gemini Cloud Assist.
Anda dapat menggunakan Agen Data Engineering untuk memecahkan masalah error pipeline data dengan langkah-langkah berikut:
- Di pipeline atau ruang kerja pengembangan, klik tab Eksekusi.
Dari daftar eksekusi, temukan eksekusi pipeline data yang gagal. Anda dapat mengidentifikasi proses yang gagal di kolom Status.
Arahkan kursor ke ikon, lalu klik Selidiki. Agen Rekayasa Data menjalankan analisis akar masalah (RCA) pada eksekusi pipeline data Anda untuk mengetahui error.
Setelah analisis selesai, Agen Rekayasa Data akan membuat laporan di bagian Pengamatan dan Hipotesis. Laporan ini mencakup:
- Pengamatan dan titik data yang diekstrak dari log eksekusi pipeline data.
- Kemungkinan penyebab kegagalan.
- Serangkaian langkah atau rekomendasi yang dapat ditindaklanjuti untuk menyelesaikan masalah yang teridentifikasi.
Dengan laporan pemecahan masalah dari Agen Data Engineering, Anda dapat menerapkan rekomendasi secara manual. Anda juga dapat menginstruksikan Data Engineering Agent untuk menerapkan perbaikan bagi Anda dengan melakukan langkah-langkah berikut:
- Salin saran di laporan pemecahan masalah.
- Kembali ke Agen Data Engineering:
- Jika Anda menggunakan pipeline BigQuery, buka halaman pipeline, lalu klik Tanya agen.
- Jika Anda menggunakan Dataform, klik Tanya agen.
- Tempelkan saran ke dalam perintah, lalu instruksikan Agen Data Engineering untuk melakukan perbaikan langsung pada pipeline data Anda.
- Klik Kirim.
Fitur dan penyesuaian agen tambahan
Bagian berikut menjelaskan kemampuan agen tambahan dan metode lain untuk menyesuaikan Agen Rekayasa Data.
Membuat petunjuk agen
Petunjuk agen adalah petunjuk bahasa alami untuk Agen Data Engineering yang memungkinkan Anda menyimpan petunjuk persisten sehingga agen mengikuti serangkaian aturan kustom yang telah ditentukan sebelumnya. Gunakan petunjuk agen jika Anda ingin hasil agen konsisten di seluruh organisasi Anda—misalnya, dengan konvensi penamaan atau untuk menerapkan panduan gaya.
Anda dapat membuat file konteks GEMINI.MD
sebagai file petunjuk agen untuk Agen Data Engineering. Anda dapat membuat file instruksi agen untuk digunakan di ruang kerja lokal, atau Anda dapat menggunakan file instruksi yang sama di beberapa pipeline data dengan repositori eksternal.
Untuk membuat petunjuk agen, lakukan hal berikut:
- Di bagian Tanya agen, klik Petunjuk pipeline.
- Di panel Instructions for pipeline, klik Create instructions file.
Di file
GEMINI.MDyang muncul, masukkan petunjuk Anda dalam bahasa alami.Contoh berikut menunjukkan file instruksi agen dengan beberapa aturan:
1. All event-specific tables MUST be prefixed with `cs_event_`. 2. The primary key for any player activity table is a composite key of `player_id` and `event_timestamp_micros`. 3. Filter out any player actions where `mana_spent` is greater than `max_mana_pool`. This is considered a data anomaly.Klik Simpan.
Untuk mengetahui informasi tentang cara terbaik menyusun file petunjuk agen, lihat Praktik terbaik dengan file petunjuk agen.
Memuat petunjuk agen dari repositori eksternal
Untuk menggunakan kembali serangkaian petunjuk agen di beberapa pipeline data, tautkan repositori eksternal:
- Di bagian Tanya agen, klik Petunjuk pipeline.
- Di bagian External repository, pilih Use instructions from external repository.
- Di kolom yang disediakan, tentukan repositori yang berisi petunjuk agen yang ingin Anda gunakan dengan pipeline data.
- Klik Simpan.
Mengimpor file lokal tambahan sebagai petunjuk agen
Anda juga dapat mengimpor file petunjuk lain untuk Agen Rekayasa Data ke dalam
file GEMINI.md dengan sintaksis @file.md. Untuk mengetahui informasi selengkapnya, lihat Memory Import Processor.
Penanganan data otomatis
Anda dapat menggunakan Agen Rekayasa Data untuk mengubah data mentah yang belum diproses menjadi tabel terstruktur yang cocok untuk analisis data. Jika diminta, agen akan mengambil sampel hingga 1.000.000 data terlebih dahulu dari setiap tabel standar atau eksternal. Kemudian, agen melakukan analisis data mendalam dengan menjalankan kueri pembuatan profil pada sampel ini. Setelah membuat transformasi data, agen mengulangi proses pengambilan sampel dan pembuatan profil ini untuk menilai kualitas transformasi. Transformasi penataan data ini dapat mencakup memperbaiki inkonsistensi data, pencilan, atau ketidakcocokan jenis. Kemudian, Agen Data Engineering akan membuat rencana yang menguraikan langkah-langkah penyiapan data yang diusulkan untuk Anda tinjau dan perbaiki sebelum tindakan apa pun dilakukan.
Agen Rekayasa Data juga memulai analisis penataan data setiap kali Anda menambahkan tabel mentah, seperti tabel eksternal berbasis CSV. Anda dapat meninjau rencana penataan data dan menyesuaikannya dengan perintah percakapan.
Pembuatan sampel dan pembuatan profil data menggunakan resource BigQuery dan tunduk pada harga BigQuery.
Agen Data Engineering mendukung transformasi penataan data berikut:
- Pembersihan data. Agen dapat menganalisis data mentah dan menyarankan peluang pembersihan, seperti menghapus anomali, mengisi nilai yang hilang atau tidak konsisten (imputasi data), memperbaiki data duplikat, atau menstandardisasi format data—misalnya, nomor telepon atau alamat
- Transformasi struktural. Jika skema target disediakan, agen
dapat memisahkan atau mengekstrak nilai dari jenis
JSON,ARRAY, atauSTRUCT; menggabungkan beberapa kolom menjadi satu; atau memisahkan satu kolom menjadi beberapa kolom - Deteksi dan konversi jenis data. Agen dapat menganalisis data untuk menentukan jenis kolom yang sesuai. Kemudian, agen dapat melakukan transmisi jenis yang aman untuk mengatasi inkonsistensi pemformatan dalam kolom tanggal, waktu, tanggal waktu, atau stempel waktu.
- Konversi satuan. Agen dapat secara otomatis mengonversi berbagai satuan dalam kolom menjadi satu satuan yang konsisten untuk menstandardisasi data Anda.
Untuk memastikan akurasi, agen menggunakan sampel representatif data Anda untuk mendeteksi masalah dan memvalidasi logika transformasinya.
Membuat dan meninjau rencana agen
Agen Data Engineering dapat membuat rencana agen yang memberikan ringkasan dan ringkasan tujuan serta langkah-langkah yang diperlukan untuk menyelesaikan permintaan. Saat Anda memberikan perintah yang kompleks kepada agen yang memerlukan banyak perubahan, sebaiknya minta agen untuk memberikan rencana agen agar Anda dapat meninjau maksud agen sebelum agen mengambil tindakan apa pun. Paket Agen Data Engineering biasanya terdiri dari hal berikut:
- Tujuan agen untuk permintaan tertentu
- Ringkasan tingkat tinggi langkah-langkah yang akan dilakukan agen
- Asumsi apa pun yang dibuat agen
- File yang akan diubah oleh agen
- Langkah-langkah pengoptimalan atau pembersihan yang akan dilakukan
- Rencana eksekusi bertahap
Dalam perintah, Anda dapat menyertakan kebutuhan untuk meninjau dan menyetujui rencana agar agen tidak mengambil tindakan apa pun tanpa persetujuan eksplisit Anda. Misalnya:
Create a plan for a pipeline that finds the top N pick up and drop off locations in NYC. I want to review the plan and approve it before you create the pipeline.
Agen juga dapat membuat rencana agen secara otomatis dan meminta persetujuan Anda. Hasil ini dapat terjadi jika perintah terlalu ambigu, atau jika agen membutuhkan kejelasan lebih lanjut untuk memenuhi permintaan Anda.
Untuk mengetahui praktik terbaik tentang penggunaan rencana agen, lihat Praktik terbaik.
Menambahkan konteks dari Katalog Pengetahuan
Agen Data Engineering menggunakan Knowledge Catalog dengan melampirkan istilah glosarium ke tabel dan kolom BigQuery serta membuat pemindaian profil data. Istilah glosarium dapat memberi tag pada kolom yang memerlukan konteks tambahan, seperti kolom yang berisi informasi identitas pribadi (PII) yang memerlukan petunjuk penanganan khusus, atau untuk mengidentifikasi kolom yang cocok dengan penamaan yang berbeda di seluruh tabel.
Knowledge Catalog juga memanfaatkan pemrofilan data, yang memberikan pemahaman yang lebih baik kepada agen tentang distribusi data dalam kolom tabel dan membantu agen membuat pernyataan kualitas data yang lebih spesifik
Menambahkan pemeriksaan kualitas data ke tabel yang ada
Saat Anda meminta agen untuk menambahkan pemeriksaan kualitas, agen akan menyimpulkan pemeriksaan yang wajar untuk tabel berdasarkan skema dan sampel. Anda juga dapat menambahkan pernyataan yang kuat sebagai bagian dari perintah. Contoh:
Add data quality checks for bigquery-public-data.thelook_ecommerce.users.
Optimalkan pipeline data
Anda dapat meminta agen untuk mengoptimalkan pipeline data. Saat membuat DDL untuk tabel baru, Agen Rekayasa Data merekomendasikan partisi dan pengelompokan berdasarkan pola penggunaan data yang dianalisis. Selain itu, agen dapat menerapkan pengoptimalan pipeline lainnya secara otomatis. Contoh kemungkinan pengoptimalan meliputi:
- Penghapusan kolom untuk mengurangi data yang dibaca dari penyimpanan agar berfungsi sebagai pendorong biaya dan performa utama.
- Predicate pushdown untuk memfilter data lebih awal dalam rencana eksekusi guna mengurangi volume yang diproses oleh operasi berikutnya secara signifikan.
- Penghapusan subekspresi umum untuk meningkatkan efisiensi dengan mengidentifikasi dan menghitung logika transformasi bersama hanya sekali, sehingga mencegah praktik yang tidak efisien seperti memindai dan menggabungkan tabel besar beberapa kali.
- Model inkremental untuk memproses hanya data baru atau yang berubah sejak dijalankan terakhir, bukan membangun ulang seluruh tabel setiap kali dijalankan.
Contoh perintah
Bagian berikut memberikan contoh perintah yang dapat Anda gunakan dengan Agen Data Engineering untuk mengembangkan pipeline data Anda.
Menggabungkan data yang ada ke dalam tabel baru
Dengan perintah ini, Agen Data Engineering menggunakan skema dan sampel untuk menyimpulkan pengelompokan data menurut kunci. Agen biasanya menyiapkan konfigurasi tabel baru dengan deskripsi tabel dan kolom.
Create a daily sales report from the
bigquery-public-data.thelook_ecommerce.order_items table into a
reporting.daily_sales_aggregation table.
Membuat kolom turunan baru dan menambahkan pemeriksaan kualitas data ke tabel baru
Perintah ini menunjukkan cara menambahkan tabel dan kolom, serta menentukan pemeriksaan kualitas ke tabel secara bersamaan:
Create a new table named staging.products from
bigquery-public-data.thelook_ecommerce.products and add a calculated column
named gross_profit, which is the retail_price minus the cost.
Also, add the following assertions: ID must not be null and must be unique.
The retail_price must be greater than or equal to the cost. The department
column can only contain 'Men' or 'Women'.
Membuat UDF sebagai bagian dari definisi model
Agen Data Engineering juga dapat menyiapkan DDL untuk membuat fungsi yang ditentukan pengguna (UDF). Meskipun agen tidak akan benar-benar membuat UDF, Anda dapat membuat UDF dengan menjalankan pipeline data. UDF ini dapat digunakan dalam definisi model di pipeline data Anda.
Create a user-defined function (UDF) named get_age_group that takes an integer
age as input and returns a string representing the age group ('Gen Z',
'Millennial', 'Gen X', 'Baby Boomer').
Use this UDF on the age column from the
bigquery-public-data.thelook_ecommerce.users table to create a new view called
reporting.user_age_demographics that includes user_id, age, and the calculated
age_group.
Praktik terbaik
Untuk meningkatkan hasil saat menggunakan Agen Rekayasa Data dan Dataform, sebaiknya lakukan hal berikut:
Menggunakan petunjuk agen untuk permintaan umum. Jika Anda biasanya menerapkan teknik tertentu, atau jika Anda sering melakukan koreksi yang sama pada agen, gunakan petunjuk agen sebagai lokasi terpusat untuk menyimpan petunjuk dan permintaan umum.
Manfaatkan rencana agen. Rencana agen dapat membantu menguraikan tugas pipeline yang kompleks. Rencana agen juga dapat menunjukkan asumsi dan niat agen, jadi sebaiknya tinjau rencana tersebut untuk memastikan agen diberi konteks yang benar.
Setelah meninjau rencana, Anda dapat mengedit rencana dengan memberikan masukan dan perubahan kepada Agen Rekayasa Data. Contoh:
In the plan, ensure that all of the intermediate tables are views.
Terkadang, Anda dapat meminta agen untuk membuat rencana yang tidak memerlukan persetujuan eksplisit Anda. Tindakan membuat rencana agen memaksa Agen Data Engineering untuk menguraikan tindakannya, yang sering kali menghasilkan hasil yang lebih baik. Anda dapat memaksa agen untuk membuat rencana dan mengeksekusinya secara otomatis. Contoh:
Create a plan for a pipeline that finds the
top N pick up and drop off locations in NYC. You have my explicit pre-approval
to go ahead and execute this plan.
Tulis dengan jelas. Nyatakan permintaan Anda dengan jelas dan hindari kata-kata yang tidak jelas. Jika memungkinkan, berikan sumber data sumber dan tujuan saat memberikan perintah, seperti yang ditunjukkan dalam contoh berikut:
Extract data from the sales.customers table in the us_west_1 region, and load
it into the reporting.dim_customers table in BigQuery. Match the schema of the
destination table.
Berikan permintaan langsung dan dalam cakupan. Ajukan satu pertanyaan pada satu waktu, dan buat perintah tetap ringkas. Untuk perintah dengan lebih dari satu pertanyaan, buat setiap bagian pertanyaan yang berbeda dalam bentuk item untuk meningkatkan kejelasan, seperti yang ditunjukkan dalam contoh berikut:
1. Create a new table named staging.events_cleaned. Use raw.events as the
source. This new table should filter out any records where the user_agent
matches the pattern '%bot%'. All original columns should be included.
2. Next, create a table named analytics.user_sessions. Use
staging.events_cleaned as the source. This table should calculate the
duration for each session by grouping by session_id and finding the
difference between the MAX(event_timestamp) and MIN(event_timestamp).
Berikan petunjuk yang jelas dan tekankan istilah-istilah penting. Anda dapat menambahkan penekanan pada istilah atau konsep utama dalam perintah dan memberi label persyaratan tertentu sebagai penting, seperti yang ditunjukkan dalam contoh berikut:
When creating the staging.customers table, it is *VERY IMPORTANT* that you
transform the email column from the source table bronze.raw_customers.
Coalesce any NULL values in the email column to an empty string ''.
Tentukan urutan operasi. Untuk tugas yang berurutan, susun perintah Anda dalam daftar, dengan item yang tercantum dibagi menjadi langkah-langkah kecil yang terfokus, seperti yang ditunjukkan dalam contoh berikut:
Create a pipeline with the following steps:
1. Extract data from the ecomm.orders table.
2. Join the extracted data with the marts.customers table on customer_id.
3. Load the final result into the reporting.customer_orders table.
Sempurnakan dan lakukan iterasi. Terus coba berbagai frasa dan pendekatan untuk melihat mana yang memberikan hasil terbaik. Jika agen menghasilkan SQL yang tidak valid atau kesalahan lainnya, pandu agen dengan contoh atau dokumentasi publik.
The previous query was incorrect because it removed the timestamp. Please
correct the SQL. Use the TIMESTAMP_TRUNC function to truncate the
event_timestamp to the nearest hour, instead of casting it as a DATE. For
example: TIMESTAMP_TRUNC(event_timestamp, HOUR).
Praktik terbaik dengan file instruksi agen
Buat file instruksi agen untuk menyesuaikan Agen Rekayasa Data agar sesuai dengan kebutuhan Anda. Saat Anda menggunakan petunjuk agen, sebaiknya lakukan hal berikut:
- Semua jalur file di Dataform bersifat relatif terhadap root
repositori. Gunakan jalur relatif untuk sintaksis
@file.mdguna mengimpor petunjuk dengan benar keGEMINI.md. - File yang diimpor di
GEMINI.mdsendiri dapat berisi impor, yang dapat membuat struktur bertingkat. Untuk mencegah rekursi tak terbatas,GEMINI.mdmemiliki kedalaman impor maksimum lima tingkat. - Untuk membagikan petunjuk di seluruh pipeline data, simpan petunjuk di repositori Dataform pusat dan tautkan ke repositori Dataform yang sedang digunakan. Anda dapat menggunakan petunjuk lokal untuk mengganti aturan pusat untuk perilaku khusus pipeline.
- Untuk memastikan konsistensi dalam project, Anda dapat menautkan ke file konvensi penamaan atau panduan gaya dan menginstruksikan agen untuk mengikuti panduan ini saat bekerja dengan pipeline data Anda.
- Anda dapat menyarankan lapisan data dalam file petunjuk untuk mengelompokkan berbagai jenis data.
- Menggunakan heading dan daftar dalam file petunjuk agen dapat membantu mengatur dan memperjelas petunjuk untuk Agen Rekayasa Data.
- Berikan nama file yang bermakna dan kelompokkan petunjuk serupa dalam satu file. Atur aturan secara logis menurut kategori, fitur, atau fungsi dengan heading Markdown.
- Untuk menghindari petunjuk yang bertentangan, tentukan dengan jelas kondisi spesifik yang berlaku untuk setiap petunjuk.
- Lakukan iterasi dan sempurnakan perintah dan alur kerja Anda. Perilaku agen berubah seiring waktu dengan peluncuran agen dan upgrade model, jadi sebaiknya lakukan iterasi pada aturan Anda dengan perintah yang berbeda untuk mengidentifikasi area yang mungkin perlu ditingkatkan. Pastikan file aturan Anda tetap sinkron dengan perubahan apa pun pada pipeline data Anda.
Contoh berikut menunjukkan file instruksi agen bernama GEMINI.md yang
memanfaatkan praktik terbaik kami untuk penggunaan Agen Rekayasa Data yang efektif:
### Naming Conventions
* Datasets: [business_domain]_[use_case] (e.g., ecommerce_sales)
* Tables:
- Raw/External: raw_[source_name]
- Staging: stg_[business_entity]
- Dimension: dim_[dimension_name]
- Fact: fct_[fact_name]
* Dataform Folders:
- sources
- staging
- marts
- dataProducts
* Views: vw_[view_name]
* Columns: snake_case (e.g., order_id, customer_name)
## Cloud Storage data load
* When ingesting data from Cloud Storage, create external tables.
## Null handling
* Filter out null id values
## String normalization
* Standardize string columns by converting to lower case
## Data Cleaning Guidelines
@./generic_cleaning.md