Passa al contenuto principale
Prodotto

Tag di query: Il contesto che mancava alle tue query del data warehouse

Attribuisci i costi, traccia le query degli strumenti partner ed etichetta i carichi di lavoro, con metadati personalizzati su ogni esecuzione SQL.

di JooHo Yeo e Jiabin Hu

  • Attribuisci i costi del warehouse condiviso per team, progetto, dashboard o qualsiasi dimensione personalizzata
  • Monitora o risolvi i problemi delle query dagli strumenti partner con il tagging automatico per dbt (nome del modello), PowerBI (ID report), Tableau (nome della cartella di lavoro) e altro ancora
  • Tagga le query da qualsiasi luogo: SQL Editor, Notebook, Dashboard, API, connettori e driver

Databricks SQL registra automaticamente gli attributi chiave di ogni query: chi l'ha eseguita, su quale warehouse e da quale strumento. Ma spesso non è abbastanza.

Quando una query di Power BI è lenta, sai che proviene da Power BI, ma non quale dashboard correggere. Quando i costi aumentano, puoi vedere quali utenti hanno eseguito le query, ma non quale centro di costo o progetto addebitare. L'elemento mancante è il contesto personalizzato, ed è esattamente ciò che aggiungono i Tag delle Query.

Oggi introduciamo Query Tags in Public Preview. I Tag delle Query consentono di associare il contesto aziendale come coppie chiave-valore multiple a ogni esecuzione SQL e di interrogarli tutti tramite tabelle di sistema con SQL standard o semplicemente chiedendo a Genie. I Tag delle Query sono visibili anche nell'interfaccia utente del Profilo della Query (la ricerca di supporto nell'interfaccia utente della Cronologia delle Query è in arrivo).

I Tag delle Query hanno già visto una forte adozione, con centinaia di clienti che taggano milioni di query settimanalmente.

Basta taggarlo: introduzione ai Tag delle Query

Con i Tag delle Query, associ coppie chiave-valore personalizzate (ad es. "progetto" : "pianificazione_finanziaria") a ogni esecuzione SQL. Questi tag viaggiano con la query e vengono registrati nella Tabella di Sistema della Cronologia delle Query, rendendoli disponibili per il raggruppamento, il filtraggio e l'analisi dei carichi di lavoro.

I tag aggiungono valore in tre scenari:

  1. Strumenti partner: Quando si utilizza dbt, Power BI o Tableau, propagare identificatori come il nome del modello dbt, l'ID del report Power BI o il nome della cartella di lavoro di Tableau in ogni query.
  2. Applicazioni personalizzate: Quando si creano app tramite l'API di esecuzione delle istruzioni SQL o i connettori, associare metadati come `customerid`, `applicationname` o `app_version` a ogni esecuzione.
  3. Lavoro ad-hoc nell'interfaccia utente di Databricks: Tagga le query con dimensioni rilevanti per te: ambiente dev vs. prod, centro di costo, nome dell'esperimento o team.

Approfondiamo questi scenari.

(1) Traccia ogni query dello strumento partner fino alla sua origine

Le query di dbt, Power BI e Tableau fluiscono nel tuo warehouse, ma senza tag, sono intracciabili oltre un ID utente e lo strumento da cui provengono. Questi strumenti risolvono questo problema iniettando automaticamente i Tag delle Query, senza necessità di tag manuali.

dbt tagga automaticamente ogni query con il nome del modello, la versione principale, la versione dell'adattatore e il tipo di materializzazione. Se un modello dbt regredisce improvvisamente in termini di prestazioni, puoi individuare esattamente quale modello, quale versione e quando:

I responsabili dell'ingegneria del personale Dipesh Bhundia e Dave Couse di ASOS hanno aggiunto:

"Senza dover configurare nulla, possiamo mappare ogni carico di lavoro SQL al modello dbt da cui ha origine. Con i Tag delle Query possiamo finalmente dividere accuratamente i costi del warehouse per i team che eseguono dbt su di esso."

Power BI e Tableau supportano i Tag delle Query personalizzati a livello di connessione. Impostali una volta e ogni query da quella connessione li porterà automaticamente. Per Tableau, i clienti hanno trovato utile utilizzare parametri come [NomeCartellaDiLavoro] come valore del tag, in modo che l'attribuzione venga preservata anche quando la cartella di lavoro viene rinominata.

Impostazione dei tag delle query

Per un elenco completo degli strumenti partner che supportano i Tag delle Query, consulta la documentazione. Se il tuo strumento non è elencato, contatta il tuo team di account.

(2) Trasforma le query API anonime in carichi di lavoro tracciabili

Le applicazioni personalizzate accedono al tuo warehouse tramite API e connettori, ma le query che generano non contengono contesto applicativo: nessun nome dell'app, nessun nome del team, nessun ID cliente. I Tag delle Query consentono di associare questi metadati a livello di connessione o di istruzione.

L'API SQL Statement Execution API supporta il tagging a livello di istruzione. I tag passati come parametro si applicano a quella specifica esecuzione:

Il Python Connector supporta il tagging sia a livello di connessione che di istruzione. Imposta un nome del team sulla connessione; sovrascrivilo per istruzione quando necessario:

Matthew Haber, DevOps Engineer, Unit21 ha condiviso:

"Siamo passati da un warehouse per team a warehouse condivisi per ridurre i costi, ma abbiamo perso la visibilità su quale team stesse guidando la spesa. Con i Tag delle Query, passiamo semplicemente il nome del team dal nostro Databricks SQL Connector per i carichi di lavoro Python e abbiamo di nuovo quell'attribuzione, senza bisogno di dividere di nuovo i warehouse."

Per l'elenco completo del supporto dei connettori e dei driver (Node.js, Go, JDBC, ecc.), consulta la documentazione.

(3) Etichetta il tuo lavoro in modo che non si perda nel rumore

Gli analisti eseguono centinaia di query a settimana (esplorazione, produzione, debug, ecc.) e senza etichette, sembrano tutte uguali nelle tabelle di sistema. I Tag delle Query consentono ai professionisti di etichettare mentre procedono con una riga di SQL, ovunque inviino le query: Editor SQL, Notebook, Dashboard e Avvisi.

Una volta impostate, tutte le istruzioni successive nella sessione portano automaticamente quei tag. Non è necessario annotare ogni query individualmente. Ad esempio, aggiungere l'istruzione SET QUERY_TAGS a ogni query del set di dati in una dashboard AI/BI tagga ogni query da quella dashboard con 'ambiente: produzione'.

I professionisti dei dati possono utilizzarlo per:

  • Tagga l'analisi ad-hoc per progetto o team
  • Segna esperimenti o test A/B
  • Identifica carichi di lavoro dev vs. prod
  • Associa il contesto di debug durante l'indagine dei problemi

Dai tag alle risposte: monitoraggio con le tabelle di sistema

Una volta che le query sono taggate, i tag vengono registrati nella colonna query_tags della Query History System Table. Ora le domande difficili diventano semplici query SQL.

Quale team sta guidando i costi del warehouse?

Molte organizzazioni devono allocare i costi condivisi del warehouse per team o prodotto. Con i Query Tag, questa è una singola query, senza suddivisioni del warehouse o congetture.

Quale modello dbt ha introdotto una regressione?

Quando una pipeline rallenta, è necessario sapere quale modello, non solo quale warehouse. Filtra la cronologia delle query di sistema per tag del nome del modello dbt auto-inserito per isolare il problema.

Oppure, salta del tutto la scrittura di SQL, chiedendo a Genie. Poiché i Query Tag memorizzano il contesto aziendale nelle tabelle di sistema, Genie può ragionare sui dati del tuo carico di lavoro in linguaggio naturale. Ad esempio: "Quale modello dbt ha avuto il maggior numero di query? Quale ha avuto i tempi medi di query più lunghi?"

Esempio di analisi delle query in linguaggio naturale

I Query Tag sbloccano molti altri casi d'uso di monitoraggio:

  1. Raggruppa per query_tags['cost_center'] per l'addebito
  2. Filtra per query_tags['@@dbt_model_name'] per monitorare lo stato della pipeline
  3. Identifica le query di lunga durata per workbook Tableau
  4. Confronta query_tags['env'] per separare il traffico di sviluppo da quello di produzione

Cosa c'è dopo

I Query Tag sono attualmente in anteprima pubblica per i SQL Warehouse e stiamo già lavorando per renderli ancora più utili per le esperienze di monitoraggio dei nostri clienti. Fare riferimento alla documentazione per gli aggiornamenti.

  • Tagging automatico di Power BI: Power BI allegherà automaticamente metadati come DatasetId e ReportId a ogni query senza alcuna configurazione. Puoi abilitarlo manualmente oggi stesso seguendo i passaggi nella documentazione. Il tagging automatico sarà attivo per impostazione predefinita nella prossima versione di Power BI.
  • Supporto più ampio per i connettori: Oltre a Python, il tagging a livello di istruzione è ora disponibile per Go e Node.js.
  • Ricercabilità nell'interfaccia utente: Presto supporteremo la ricerca nell'interfaccia utente della cronologia delle query, in modo da poter cercare query con un tag specifico (ad esempio, "@@dbt_model_name": "my_model")
  • Supporto oltre i SQL Warehouse: Stiamo portando i Query Tag ai notebook e ai job serverless, in modo che lo stesso modello di tagging e attribuzione si estenda ai carichi di lavoro dei notebook.ads.

Prova subito i Query Tag

Ogni query senza tag è un'opportunità persa di attribuzione. Sia che tu debba suddividere i costi del warehouse per team, tracciare una query lenta fino a una dashboard specifica o etichettare il lavoro dell'analista per progetto, i Query Tag ti forniscono il contesto per farlo.

Se usi dbt, stai già taggando (controlla la tabella di sistema della tua cronologia query). Per Power BI, Tableau e applicazioni personalizzate, la configurazione richiede pochi minuti. Per il lavoro ad hoc, richiede una riga di SQL.

I Query Tag sono disponibili oggi in anteprima pubblica su tutti i cloud. Inizia con la documentazione.

(Questo post sul blog è stato tradotto utilizzando strumenti basati sull'intelligenza artificiale) Post originale

Ricevi gli ultimi articoli nella tua casella di posta

Iscriviti al nostro blog e ricevi gli ultimi articoli direttamente nella tua casella di posta.