Utilizza Data Engineering Agent per creare e modificare pipeline di dati

L'agente di data engineering ti consente di creare, modificare e risolvere i problemi delle pipeline di dati in BigQuery utilizzando prompt in linguaggio naturale. Data Engineering Agent offre le seguenti funzionalità per semplificare i flussi di lavoro di data engineering per importare i dati in BigQuery:

  • Integrazione di Dataform: l'agente genera e organizza il codice della pipeline di dati direttamente all'interno dei repository e degli spazi di lavoro Dataform
  • Generazione del piano: l'agente può riassumere il suo ragionamento e generare un piano che ti consente di rivedere e verificare il piano dell'agente prima di procedere.
  • Convalida del codice: l'agente convalida e corregge automaticamente gli errori di compilazione di qualsiasi codice generato per garantire che la pipeline di dati sia funzionale.
  • Data wrangling automatico: l'agente esegue il data wrangling e trasforma i dati non elaborati in tabelle strutturate senza intervento manuale.
  • Istruzioni personalizzate: l'agente supporta istruzioni personalizzate che ti consentono di definire regole specifiche e linee guida riutilizzabili in linguaggio naturale
  • Contesto esterno: l'agente è integrato con Knowledge Catalog per un contesto aggiuntivo
  • Controllo della pipeline: puoi rivedere e personalizzare i piani degli agenti generati prima dell'esecuzione di qualsiasi azione.
  • Ottimizzazione: l'agente può ottimizzare le prestazioni nella pipeline di dati
  • Risoluzione dei problemi e riparazione: l'agente può risolvere i problemi relativi agli errori della pipeline e correggere il relativo codice.

Per altri esempi di prompt che puoi utilizzare con l'agente di Data Engineering, consulta Esempi di prompt.

Limitazioni

Data Engineering Agent presenta le seguenti limitazioni:

  • Data Engineering Agent non supporta i comandi in linguaggio naturale per i seguenti tipi di file:
    • Notebook
    • Preparazione dei dati
    • JavaScript in qualsiasi SQLX
  • L'agente Data Engineering non può eseguire pipeline. Devi esaminare ed eseguire o pianificare le pipeline.
  • L'agente di Data Engineering non può convalidare SQL che dipende da risorse intermedie inesistenti senza l'invocazione completa della pipeline (attivata dall'utente).
  • L'agente Data Engineering non può cercare link web o URL forniti tramite istruzioni o prompt diretti.
  • Quando importi file in un file di istruzioni dell'agente, la sintassi di importazione @ supporta solo i percorsi che iniziano con ./, / o una lettera.
  • La funzionalità Anteprima dei dati è supportata solo per tabelle, dichiarazioni o query con il flag hasOutput impostato su true.
  • L'agente Data Engineering è soggetto alle limitazioni generali della tecnologia AI.

In che modo l'agente Data Engineering utilizza i tuoi dati

Per produrre risposte di qualità superiore, Data Engineering Agent può recuperare dati e metadati aggiuntivi da BigQuery e Knowledge Catalog, incluse righe di esempio da tabelle BigQuery e profili di scansione dei dati generati in Knowledge Catalog. L'agente non utilizza questi dati per l'addestramento, ma solo come contesto aggiuntivo durante le conversazioni per informare le sue risposte.

Dove Data Engineering Agent elabora i tuoi dati

Per ulteriori informazioni sulle località in cui l'agente di data engineering elabora i tuoi dati, consulta Dove Gemini in BigQuery elabora i tuoi dati.

Prima di iniziare

Prima di utilizzare Data Engineering Agent, esegui i passaggi descritti in questa sezione.

Abilitare Gemini in BigQuery

Assicurati che Gemini in BigQuery sia abilitato per il tuo progettoGoogle Cloud . Per saperne di più, vedi Configurare Gemini in BigQuery.

Abilita le API richieste

console

Abilita le seguenti API nella console Google Cloud per il progetto Google Cloudche utilizzi con l'API Analisi conversazionale.

Attiva l'API Gemini Data Analytics

Abilitare l'API Gemini per Google Cloud

Abilita l'API BigQuery

gcloud

Per abilitare l'API Gemini Data Analytics, l'API Gemini for Google Cloud e l'API BigQuery, utilizza Google Cloud CLI ed esegui i seguenti comandi gcloud services enable:

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

Sostituisci PROJECT_ID con l'ID progetto Google Cloud .

Ruoli obbligatori

Per ottenere l'autorizzazione necessaria per utilizzare Data Engineering Agent, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene l'autorizzazione geminidataanalytics.locations.useDataEngineeringAgent necessaria per utilizzare Data Engineering Agent.

Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.

Prerequisiti per l'integrazione di Knowledge Catalog

Per ottenere l'autorizzazione necessaria per integrare l'agente di Data Engineering con Knowledge Catalog, chiedi all'amministratore di concederti il ruolo IAM Editor catalogo Dataplex (roles/dataplex.catalogEditor) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene l'autorizzazione geminidataanalytics.locations.useDataEngineeringAgent necessaria per integrare Data Engineering Agent con Knowledge Catalog.

Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.

Devi anche abilitare l'API Knowledge Catalog.

Criptare i dati con le chiavi di Cloud Key Management Service

Puoi criptare i dati a livello di set di dati o progetto con le chiavi Cloud Key Management Service gestite dal cliente predefinite in BigQuery. Per saperne di più, consulta Imposta una chiave predefinita per il set di dati e Imposta una chiave predefinita per il progetto.

Puoi criptare il codice della pipeline a livello di progetto impostando una chiave Cloud Key Management Service Dataform predefinita.

Configura i perimetri dei Controlli di servizio VPC

Se utilizzi Controlli di servizio VPC, devi configurare il perimetro per proteggere Dataform, BigQuery e l'API Analisi conversazionale. Per maggiori informazioni, consulta Dataform, BigQuery e l'API Analisi conversazionale.

Genera una pipeline di dati con l'agente di data engineering

Per utilizzare l'agente di data engineering in BigQuery, seleziona una delle seguenti opzioni:

Pipeline BigQuery

Puoi utilizzare l'agente di data engineering nell'interfaccia delle pipeline BigQuery nel seguente modo:

  1. Vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nell'editor di query, fai clic su arrow_drop_down Crea nuovo > Pipeline.

  3. Seleziona un'opzione per le credenziali di esecuzione e poi fai clic su Inizia. Queste credenziali non vengono utilizzate dall'agente, ma sono necessarie per eseguire la pipeline di dati generata.

  4. Fai clic su Prova l'esperienza dell'agente per la pipeline di dati.

  5. Nel campo Chiedi all'agente, inserisci un prompt in linguaggio naturale per generare una pipeline di dati, ad esempio:

      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.
    

    Dopo aver inserito un prompt, fai clic su Invia.

  6. L'agente di data engineering genera una pipeline di dati in base al prompt.

L'agente di data engineering genera una bozza proposta di una pipeline di dati. Puoi fare clic su un nodo della pipeline per esaminare la query SQLX generata. Per applicare la pipeline di dati suggerita dall'agente, fai clic su Applica.

Pipeline di dati con il pulsante "Applica" evidenziato, che indica le modifiche suggerite dall'agente di data engineering.

Dataform

Puoi utilizzare Data Engineering Agent in Dataform nel seguente modo:

  1. Vai a Dataform.

    Vai a Dataform

  2. Seleziona un repository.

  3. Seleziona o crea un workspace di sviluppo.

  4. Nello spazio di lavoro, fai clic su Chiedi all'agente.

  5. Nel prompt Chiedi all'agente visualizzato, inserisci un prompt in linguaggio naturale per generare una pipeline di dati, ad esempio:

      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.
    

    Dopo aver inserito un prompt, fai clic su Invia.

Dopo l'invio del prompt, l'agente Data Engineering genera una pipeline di dati e modifica i file SQLX di Dataform in base al prompt. L'agente applica queste modifiche direttamente ai file dello spazio di lavoro.

Modificare una pipeline di dati

Per modificare la pipeline di dati, fai clic su Chiedi all'agente e poi inserisci un prompt che suggerisca una modifica alla pipeline di dati.

Interfaccia della pipeline di dati in cui è evidenziato il pulsante "Chiedi all'agente".

Esamina le modifiche proposte dall'agente di Data Engineering, quindi fai clic su Applica per applicarle.

Puoi anche modificare manualmente una query SQLX selezionando un nodo della pipeline e poi facendo clic su Apri.

Esaminare una pipeline di dati

Puoi fare clic su un nodo della pipeline in una pipeline di dati generata dall'agente di data engineering per esaminarlo.

  • La scheda Configurazione mostra la query SQLX generata associata al nodo.
  • La scheda Anteprima dati mostra la tabella di input e output del file. Puoi visualizzare l'anteprima della trasformazione dei dati tramite questo nodo facendo clic su Esegui attività per eseguire l'attività con o senza dipendenze.

Risolvere gli errori della pipeline di dati

Se si verificano errori durante la generazione della pipeline di dati, verifica di aver completato tutti i prerequisiti per eseguire l'agente Data Engineering. Per ulteriori informazioni, consulta Prima di iniziare.

Esegui un'indagine Gemini Cloud Assist

Per ulteriori risoluzioni dei problemi della pipeline, puoi utilizzare Data Engineering Agent per eseguire un'analisi delle cause principali e suggerire consigli per la risoluzione dei problemi.

Questa funzionalità utilizza le indagini di Gemini Cloud Assist (anteprima) ed è disponibile solo per gli utenti con un contratto di assistenza Premium. Per saperne di più sull'attivazione delle indagini di Gemini Cloud Assist, consulta Risolvere i problemi con le indagini di Gemini Cloud Assist.

Puoi utilizzare l'agente di data engineering per risolvere i problemi relativi agli errori della pipeline di dati con i seguenti passaggi:

  1. Nella pipeline o nell'area di lavoro di sviluppo, fai clic sulla scheda Esecuzioni.
  2. Nell'elenco delle esecuzioni, trova l'esecuzione della pipeline di dati non riuscita. Puoi identificare le esecuzioni non riuscite nella colonna Stato.

    Un elenco di esecuzioni della pipeline, con un'esecuzione non riuscita evidenziata nella colonna "Stato".

  3. Passa il mouse sopra l'icona, poi fai clic su Analizza. L'agente Data Engineering esegue un'analisi delle cause principali (RCA) sull'esecuzione della pipeline di dati per rilevare gli errori.

    Interfaccia della pipeline di dati che mostra un'icona per "Analizza" un'esecuzione non riuscita, chiedendo all'agente di data engineering di diagnosticare gli errori.

  4. Al termine dell'analisi, Data Engineering Agent genera un report nella sezione Osservazioni e ipotesi. Il report include quanto segue:

    • Osservazioni e punti dati estratti dai log di esecuzione della pipeline di dati.
    • Le probabili cause dell'errore.
    • Una serie di passaggi o consigli pratici per risolvere il problema identificato.

Con il report sulla risoluzione dei problemi di Data Engineering Agent, puoi implementare i suggerimenti manualmente. Puoi anche chiedere all'agente Data Engineering di applicare la correzione per te seguendo questi passaggi:

  1. Copia i suggerimenti nel report sulla risoluzione dei problemi.
  2. Torna all'agente di Data Engineering:
    1. Se utilizzi le pipeline BigQuery, vai alla pagina delle pipeline e fai clic su Chiedi all'agente.
    2. Se utilizzi Dataform, fai clic su Chiedi all'agente.
  3. Incolla i suggerimenti nel prompt, quindi chiedi all'agente Data Engineering di apportare le correzioni direttamente alla pipeline di dati.
  4. Fai clic su Invia.

Funzionalità e personalizzazioni aggiuntive dell'agente

Le sezioni seguenti descrivono funzionalità aggiuntive dell'agente e altri metodi per personalizzare Data Engineering Agent.

Creare istruzioni per l'agente

Le istruzioni dell'agente sono istruzioni in linguaggio naturale per l'agente di data engineering che ti consentono di memorizzare istruzioni permanenti in modo che l'agente segua un insieme di regole personalizzate predefinite. Utilizza le istruzioni dell'agente se vuoi che i risultati dell'agente siano coerenti in tutta l'organizzazione, ad esempio con le convenzioni di denominazione o per applicare una guida di stile.

Puoi creare un file di contesto GEMINI.MD come file di istruzioni dell'agente per l'agente di Data Engineering. Puoi creare file di istruzioni dell'agente da utilizzare nel tuo spazio di lavoro locale oppure puoi utilizzare gli stessi file di istruzioni in più pipeline di dati con un repository esterno.

Per creare istruzioni per l'agente:

  1. Nella sezione Chiedi all'agente, fai clic su Istruzioni della pipeline.
  2. Nel riquadro Istruzioni per la pipeline, fai clic su Crea file di istruzioni.
  3. Nel file GEMINI.MD visualizzato, inserisci le istruzioni in linguaggio naturale.

    Il seguente esempio mostra un file di istruzioni dell'agente con diverse regole:

      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.
    
  4. Fai clic su Salva.

Per informazioni su come strutturare al meglio i file di istruzioni dell'agente, consulta Best practice con i file di istruzioni dell'agente.

Caricare le istruzioni dell'agente da un repository esterno

Per riutilizzare un insieme di istruzioni dell'agente in più pipeline di dati, collega un repository esterno:

  1. Nella sezione Chiedi all'agente, fai clic su Istruzioni della pipeline.
  2. In Repository esterno, seleziona Usa le istruzioni del repository esterno.
  3. Nei campi forniti, specifica un repository contenente le istruzioni dell'agente che vuoi utilizzare con la pipeline di dati.
  4. Fai clic su Salva.

Importare file locali aggiuntivi come istruzioni dell'agente

Puoi anche importare altri file di istruzioni per l'agente di Data Engineering nel file GEMINI.md con la sintassi @file.md. Per saperne di più, consulta Processore di importazione della memoria.

Wrangling automatico dei dati

Puoi utilizzare Data Engineering Agent per trasformare i dati non elaborati in tabelle strutturate adatte all'analisi dei dati. Se richiesto, l'agente esegue prima il campionamento di un massimo di 1.000.000 di record da ogni tabella standard o esterna. L'agente esegue quindi un'analisi approfondita dei dati eseguendo query di profilazione su questo campione. Dopo aver generato le trasformazioni dei dati, l'agente ripete questo processo di campionamento e profilazione per valutare la qualità delle trasformazioni. Queste trasformazioni di data wrangling possono includere la correzione di incongruenze, outlier o mancate corrispondenze dei tipi di dati. Data Engineering Agent crea quindi un piano che delinea i passaggi di wrangling proposti che puoi rivedere e perfezionare prima che venga eseguita qualsiasi azione.

L'agente Data Engineering avvia anche l'analisi del data wrangling ogni volta che aggiungi una tabella non elaborata, ad esempio una tabella esterna basata su CSV. Puoi rivedere il piano di manipolazione dei dati e modificarlo con comandi conversazionali.

Il campionamento e la profilazione dei dati utilizzano le risorse BigQuery e sono soggetti ai prezzi di BigQuery.

Data Engineering Agent supporta le seguenti trasformazioni di data wrangling:

  • Pulizia dei dati. L'agente può analizzare i dati non elaborati e suggerire opportunità di pulizia, ad esempio rimuovere gli outlier, compilare valori mancanti o incoerenti (imputazione dei dati), correggere i dati duplicati o standardizzare i formati dei dati, ad esempio numeri di telefono o indirizzi
  • Trasformazioni strutturali. Quando viene fornito uno schema di destinazione, l'agente può annidare o estrarre valori dai tipi JSON, ARRAY o STRUCT; unire più colonne in una o dividere una colonna in più colonne
  • Rilevamento e conversione del tipo di dati. L'agente può analizzare i dati per determinare i tipi di campi appropriati. L'agente può quindi eseguire il casting sicuro dei tipi per risolvere eventuali incoerenze di formattazione all'interno dei campi data, ora, data e ora o timestamp.
  • Conversioni di unità di misura. L'agente può convertire automaticamente varie unità all'interno di un campo in un'unità coerente per standardizzare i dati.

Per garantire l'accuratezza, l'agente utilizza campioni rappresentativi dei tuoi dati per rilevare problemi e convalidare la logica di trasformazione.

Generare e rivedere i piani degli agenti

L'agente Data Engineering può generare piani dell'agente che forniscono un riepilogo e una panoramica degli obiettivi e dei passaggi necessari per completare una richiesta. Quando chiedi all'agente di eseguire richieste complesse che richiedono molte modifiche, ti consigliamo di chiedere all'agente di fornirti un piano in modo da poter esaminare le intenzioni dell'agente prima che intraprenda qualsiasi azione. Un piano di Data Engineering Agent in genere è costituito da:

  • L'obiettivo dell'agente per una determinata richiesta
  • Una panoramica generale dei passaggi che l'agente prevede di intraprendere
  • Eventuali ipotesi formulate dall'agente
  • File che l'agente prevede di modificare
  • Eventuali passaggi di ottimizzazione o pulizia che prevede di eseguire
  • Un piano di esecuzione in più fasi

Nel prompt puoi includere la necessità di rivedere e approvare il piano in modo che l'agente non intraprenda alcuna azione senza la tua approvazione esplicita. Ad esempio:

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.

L'agente potrebbe anche generare automaticamente un piano e richiedere la tua approvazione. Questo risultato può verificarsi quando un prompt è troppo ambiguo o se l'agente ha bisogno di maggiore chiarezza per soddisfare la tua richiesta.

Per le best practice sull'utilizzo dei piani dell'agente, consulta Best practice.

Aggiungere contesto da Knowledge Catalog

L'agente Data Engineering utilizza Knowledge Catalog collegando i termini del glossario a tabelle e colonne BigQuery e generando scansioni del profilo dei dati. I termini del glossario possono taggare le colonne che richiedono un contesto aggiuntivo, ad esempio le colonne contenenti informazioni che consentono l'identificazione personale (PII) che richiedono istruzioni di gestione speciali o per identificare le colonne corrispondenti con nomi diversi nelle tabelle.

Knowledge Catalog utilizza anche la profilazione dei dati, che fornisce all'agente una migliore comprensione della distribuzione dei dati all'interno delle colonne della tabella e lo aiuta a creare asserzioni sulla qualità dei dati più specifiche.

Aggiungere controlli della qualità dei dati a una tabella esistente

Quando chiedi all'agente di aggiungere controlli di qualità, l'agente deduce controlli ragionevoli per la tabella in base allo schema e ai campioni. Puoi anche aggiungere asserzioni con opinioni come parte del prompt. Ad esempio:

  Add data quality checks for bigquery-public-data.thelook_ecommerce.users.

Ottimizza le pipeline di dati

Puoi chiedere all'agente di ottimizzare le pipeline di dati. Quando genera DDL per le nuove tabelle, Data Engineering Agent consiglia il partizionamento e il clustering in base ai pattern di utilizzo dei dati analizzati. Inoltre, l'agente può applicare automaticamente altre ottimizzazioni della pipeline. Ecco alcuni esempi di possibili ottimizzazioni:

  • Eliminazione delle colonne per ridurre i dati letti dallo spazio di archiviazione e fungere da fattore principale di costo e rendimento.
  • Pushdown dei predicati per filtrare i dati all'inizio del piano di esecuzione per ridurre significativamente il volume elaborato dalle operazioni successive.
  • Eliminazione delle sottoespressioni comuni per migliorare l'efficienza identificando e calcolando la logica di trasformazione condivisa una sola volta, evitando pratiche inefficienti come la scansione e l'unione di tabelle di grandi dimensioni più volte.
  • Modelli incrementali per elaborare solo i dati nuovi o modificati dall'ultima esecuzione anziché ricompilare intere tabelle a ogni esecuzione.

Prompt di esempio

Le sezioni seguenti forniscono prompt di esempio che puoi utilizzare con l'agente di data engineering per sviluppare la tua pipeline di dati.

Aggregare i dati esistenti in una nuova tabella

Con questo prompt, l'agente di Data Engineering utilizza lo schema e i campioni per dedurre il raggruppamento dei dati per chiave. L'agente in genere configura una nuova tabella con descrizioni di tabelle e colonne.

  Create a daily sales report from the
  bigquery-public-data.thelook_ecommerce.order_items table into a
  reporting.daily_sales_aggregation table.

Crea una nuova colonna derivata e aggiungi controlli della qualità dei dati alla nuova tabella

Questo prompt mostra come aggiungere una tabella e una colonna e specificare i controlli di qualità alla tabella contemporaneamente:

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

Crea UDF come parte della definizione del modello

L'agente Data Engineering può anche configurare il DDL per creare funzioni definite dall'utente (UDF). L'agente non creerà effettivamente la UDF, ma puoi crearla eseguendo la pipeline di dati. Queste funzioni definite dall'utente possono essere utilizzate nelle definizioni dei modelli nella pipeline di dati.

  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.

Best practice

Per migliorare i risultati quando lavori con l'agente Data Engineering e Dataform, ti consigliamo di procedere nel seguente modo:

Utilizza le istruzioni per gli agenti per le richieste comuni. Se applichi spesso determinate tecniche o se apporti frequentemente le stesse correzioni all'agente, utilizza le istruzioni dell'agente come posizione centralizzata per archiviare istruzioni e richieste comuni.

Utilizza i piani degli agenti.I piani degli agenti possono essere utili per suddividere le attività complesse della pipeline. I piani dell'agente possono anche mostrare le ipotesi e le intenzioni dell'agente, quindi ti consigliamo di esaminarli per assicurarti che all'agente venga fornito il contesto corretto.

Dopo aver esaminato un piano, puoi modificarlo fornendo all'agente Data Engineering feedback e modifiche. Ad esempio:

In the plan, ensure that all of the intermediate tables are views.

In alcuni casi, può essere utile chiedere all'agente di generare un piano che non richieda la tua approvazione esplicita. L'atto di pianificare l'agente costringe l'agente di Data Engineering a suddividere le sue azioni, il che spesso porta a risultati migliori. Puoi forzare l'agente a generare un piano ed eseguirlo automaticamente. Ad esempio:

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.

Scrivi in modo chiaro. Indica chiaramente la tua richiesta ed evita di essere vago. Se possibile, fornisci le origini dati di origine e di destinazione quando richiesto, come mostrato nell'esempio seguente:

  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.

Fornisci richieste dirette e mirate. Fai una domanda alla volta e mantieni i prompt concisi. Per i prompt con più di una domanda, elenca ogni parte distinta della domanda per migliorare la chiarezza, come mostrato nell'esempio seguente:

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

Fornisci istruzioni esplicite ed evidenzia i termini chiave. Puoi dare risalto a termini o concetti chiave nei prompt ed etichettare determinati requisiti come importanti, come mostrato nell'esempio seguente:

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

Specifica l'ordine delle operazioni. Per le attività ordinate, struttura il prompt in elenchi, in cui gli elementi elencati sono suddivisi in passaggi piccoli e mirati, come mostrato nell'esempio seguente:

  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.

Perfeziona ed esegui l'iterazione. Continua a provare frasi e approcci diversi per vedere cosa produce i risultati migliori. Se l'agente genera SQL non valido o altri errori, guidalo con esempi o documentazione pubblica.

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

Best practice per i file di istruzioni dell'agente

Crea file di istruzioni dell'agente per personalizzare Data Engineering Agent in base alle tue esigenze. Quando utilizzi le istruzioni per l'agente, ti consigliamo di:

  • Tutti i percorsi dei file in Dataform sono relativi alla radice del repository. Utilizza percorsi relativi per qualsiasi sintassi @file.md per importare correttamente le istruzioni in GEMINI.md.
  • I file importati in GEMINI.md possono a loro volta contenere importazioni, il che può creare una struttura nidificata. Per evitare la ricorsione infinita, GEMINI.md ha una profondità massima di importazione di cinque livelli.
  • Per condividere le istruzioni tra le pipeline di dati, memorizzale in un repository Dataform centrale e collegale al repository Dataform di lavoro. Puoi utilizzare le istruzioni locali per ignorare le regole centrali per un comportamento specifico della pipeline.
  • Per garantire la coerenza del progetto, puoi collegarti a file di convenzioni di denominazione o guide di stile e chiedere all'agente di seguire queste linee guida quando lavora con le pipeline di dati.
  • Puoi suggerire livelli di dati nel file di istruzioni per raggruppare diversi tipi di dati.
  • L'utilizzo di intestazioni ed elenchi nel file di istruzioni dell'agente può contribuire a organizzare e chiarire le istruzioni per l'agente di Data Engineering.
  • Fornisci nomi file significativi e raggruppa istruzioni simili in un file. Organizza le regole in modo logico per categoria, funzionalità o funzionalità con intestazioni Markdown.
  • Per evitare istruzioni in conflitto, definisci chiaramente le condizioni specifiche in cui si applica ogni istruzione.
  • Esegui iterazioni e perfeziona i prompt e il flusso di lavoro. Il comportamento degli agenti cambia nel tempo con i rollout degli agenti e gli upgrade dei modelli, pertanto ti consigliamo di iterare le regole con prompt diversi per identificare le aree che potrebbero richiedere miglioramenti. Mantieni sincronizzato il file di regole con le modifiche apportate alla pipeline di dati.

L'esempio seguente mostra un file di istruzioni dell'agente denominato GEMINI.md che utilizza le nostre best practice per l'uso efficace dell'agente di data engineering:

  ### 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