Come cercare rapidamente e facilmente i dati con Whale

Come cercare rapidamente e facilmente i dati con Whale
In questo articolo si parla di uno strumento semplice e veloce per la scoperta dei dati, il cui funzionamento è visibile su KDPV. È interessante notare che whale è progettato per essere ospitato su un server git remoto. Maggiori dettagli di seguito.

Come lo strumento di scoperta dei dati di Airbnb ha cambiato la mia vita

Nella mia carriera ho avuto la fortuna di affrontare alcune sfide interessanti: ho studiato la matematica dei flussi mentre conseguivo il mio diploma al MIT, ho lavorato su modelli incrementali e su un progetto open source pylift in Wayfair, oltre a implementare nuovi modelli di targeting sulla homepage e miglioramenti del CUPED in Airbnb. Tuttavia, tutto questo lavoro non è mai stato glamour: in realtà, ho spesso passato gran parte del mio tempo a cercare, esaminare e verificare i dati. Anche se questo era uno stato costante nel mio lavoro, non mi era venuto in mente che fosse un problema finché non sono approdato in Airbnb, dove è stato risolto grazie a uno strumento di scoperta dei dati — Dataportal.

Dove posso trovare {{data}}? Dataportal.
Cosa significa questa colonna? Dataportal.
Come sta {{metric}} oggi? Dataportal.
Qual è il significato della vita? In Dataportal, probabilmente.

Bene, hai dipinto il quadro. Trovare i dati e comprendere cosa significano, come sono stati creati e come usarli richiede solo pochi minuti, non ore. Potrei dedicare il mio tempo a fare semplici deduzioni o a lavorare su nuovi algoritmi, (… oppure rispondere a domande casuali sui dati), invece di scavare nelle note, scrivere ripetutamente query SQL e menzionare i colleghi su Slack per cercare di ricreare il contesto che qualcun altro aveva già.

E qual è il problema?

Ho capito che la maggior parte dei miei amici non aveva accesso a uno strumento del genere. Poche aziende vogliono investire enormi risorse per creare e mantenere uno strumento-piattaforma come Dataportal. E sebbene ci siano alcune soluzioni open source, di solito sono progettate per la scalabilità, rendendo difficile la personalizzazione e la manutenzione senza un ingegnere DevOps dedicato. Pertanto, ho deciso di creare qualcosa di nuovo.

Whale: uno strumento di scoperta dei dati incredibilmente semplice

Come cercare rapidamente e facilmente i dati con Whale

E sì, con semplice intendo semplice. Whale ha solo due componenti:

  1. Una libreria Python che raccoglie metadati e li formatta in MarkDown.
  2. Un'interfaccia della riga di comando in Rust per la ricerca di questi dati.

In termini di infrastruttura interna per la manutenzione, c'è solo un insieme di file di testo e un programma di aggiornamento. Questo è tutto, quindi l'hosting su un server git, come Github, è banale. Nessun nuovo linguaggio di query da imparare, nessuna infrastruttura di gestione, nessun backup. Git è noto a tutti, quindi la sincronizzazione e la collaborazione sono incluse gratuitamente. Esploriamo più nel dettaglio le funzionalità Whale v1.0.

Interfaccia grafica completa basata su git

Whale è progettato per navigare nell'oceano di un server git remoto. È estremamente facile da configurare: definisci alcune connessioni, copia lo script Github Actions (o scrivilo per la piattaforma CI/CD scelta) — e avrai immediatamente uno strumento di scoperta dei dati online. Potrai cercare, visualizzare, documentare e condividere le tue tabelle direttamente su Github.

Come cercare rapidamente e facilmente i dati con Whale
Esempio di tabella segnaposto generata con Github Actions. Guarda la dimostrazione completa in questa sezione.

Ricerca fulminea dalla CLI nel tuo repository

Whale vive e respira nella riga di comando, fornendo una ricerca funzionale, in millisecondi, tra le tue tabelle. Anche con milioni di tabelle, siamo riusciti a rendere whale incredibilmente performante, utilizzando alcune astute meccaniche di caching e ristrutturando il backend in Rust. Non noterai alcun ritardo nella ricerca [ciao, Google DS].

Come cercare rapidamente e facilmente i dati con Whale
Dimostrazione di whale, ricerca tra un milione di tabelle.

Calcolo automatico delle metriche [in beta]

Una delle mie meno favorite attività come scienziato di dati è l'esecuzione delle stesse query ripetutamente solo per verificare la qualità dei dati utilizzati. Whale supporta la definizione di metriche in semplice SQL, che saranno eseguite secondo un programma insieme ai tuoi pipeline di pulizia dei metadati. Definisci un blocco metrics in formato YAML all'interno della tabella segnaposto, e Whale verrà eseguito automaticamente secondo pianificazione e avvierà le query annidate nel metrics.

```metrics
metric-name:
  sql: |
    select count(*) from table
```

Come cercare rapidamente e facilmente i dati con Whale
In combinazione con Github, questo approccio significa che whale può servire come una fonte centrale semplice e affidabile per la definizione delle metriche. Whale conserva persino i valori insieme ai timestamp nel catalogo «~/whale/metrics», se desideri creare un grafico o un'analisi più approfondita.

Futuro

Parlando con gli utenti delle nostre versioni pre-release di whale, abbiamo capito che le persone richiedevano funzionalità più ampie. Perché uno strumento di ricerca tabellare? Perché non uno strumento di ricerca delle metriche? Perché non un monitoraggio? Perché non uno strumento per eseguire query SQL? Anche se whale v1 era originariamente pensato come un semplice strumento CLI companion Dataportal/Amundsen, è già diventato una piattaforma autonoma e multifunzionale, e speriamo che diventi parte integrante dell'arsenale del data scientist.

Se c'è qualcosa che desideri vedere nel processo di sviluppo, unisciti al nostro comunità Slack, apri Issues su Github, o anche contattaci direttamente su LinkedIn. Abbiamo già una serie di funzioni interessanti – modelli Jinja, segnalibri, filtri di ricerca, notifiche Slack, integrazione con Jupyter, persino un pannello CLI per le metriche – e saremo lieti del tuo contributo.

Conclusione

Whale è sviluppato e mantenuto da Dataframe, una startup che ho recentemente avuto il piacere di fondare con altre persone. Mentre whale è concepito per i professionisti della data processing, Dataframe è destinata a team di data processing. Per coloro che desiderano collaborare più da vicino – non esitate a contattarci, ti aggiungeremo alla lista d'attesa.

Come cercare rapidamente e facilmente i dati con Whale
Usando il codice promozionale HABR, puoi ottenere un ulteriore 10% di sconto su quello indicato nel banner.

Altri corsi

Articoli consigliati

Fonte: habr.com

Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS 🔥 Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS | ProHoster