Come cercare i dati in modo rapido e semplice con Whale

Come cercare i dati in modo rapido e semplice con Whale
Questo articolo parla dello strumento di rilevamento dei dati più semplice e veloce, il cui lavoro vedi su KDPV. È interessante notare che whale è progettato per essere ospitato su un server git remoto. Dettagli sotto il taglio.

Come il Data Discovery Tool di Airbnb ha cambiato la mia vita

Nella mia carriera ho avuto il piacere di lavorare su alcuni problemi divertenti: ho studiato matematica dei flussi mentre mi laureavo al MIT, ho lavorato su modelli incrementali e con un progetto open source pylift presso Wayfair e implementato nuovi modelli di targeting per home page e miglioramenti CUPED presso Airbnb. Ma tutto questo lavoro non è mai stato affascinante, infatti, spesso passavo la maggior parte del mio tempo a cercare, ricercare e convalidare i dati. Sebbene questo fosse uno stato costante al lavoro, non mi è venuto in mente che questo fosse un problema fino a quando non sono arrivato su Airbnb dove è stato risolto con uno strumento di rilevamento dei dati − dataportal.

Dove posso trovare {{data}}? dataportal.
Cosa significa questa colonna? dataportal.
Come sta {{metric}} oggi? dataportal.
Cos'è il senso della vita? IN dataportal, probabilmente.

Ok, hai presentato la foto. Trovare i dati e capire cosa significano, come sono stati creati e come utilizzarli richiede solo pochi minuti, non ore. Potrei passare il mio tempo a trarre conclusioni semplici o nuovi algoritmi (... o rispondere a domande casuali sui dati) piuttosto che scavare tra appunti, scrivere query SQL ripetitive e menzionare colleghi su Slack per provare a ricreare un contesto che qualcun altro aveva già .

E qual è il problema?

Mi sono reso conto che la maggior parte dei miei amici non aveva accesso a uno strumento del genere. Poche aziende sono disposte a dedicare enormi risorse alla creazione e al mantenimento di uno strumento di piattaforma come Dataportal. E sebbene esistano alcune soluzioni open source, tendono a essere progettate per essere scalabili, il che rende difficile la configurazione e la manutenzione senza un ingegnere DevOps dedicato. Così ho deciso di creare qualcosa di nuovo.

Whale: uno strumento di scoperta dei dati stupidamente semplice

Come cercare i dati in modo rapido e semplice con Whale

E sì, per stupidamente semplice intendo stupidamente semplice. La balena ha solo due componenti:

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

Dal punto di vista dell'infrastruttura interna per la manutenzione, ci sono solo molti file di testo e un programma che aggiorna il testo. Ecco fatto, quindi l'hosting su un server git come Github è banale. Nessun nuovo linguaggio di query da apprendere, nessuna infrastruttura di gestione, nessun backup. Tutti conoscono Git, quindi la sincronizzazione e la collaborazione sono gratuite. Diamo un'occhiata più da vicino alla funzionalità Balena v1.0.

GUI basata su git con funzionalità complete

Whale è progettato per nuotare nell'oceano di un server git remoto. Lui molto facile configurabile: definisci alcune connessioni, copia lo script Github Actions (o scrivine uno per la tua piattaforma CI/CD scelta) e avrai subito uno strumento web di data discovery. Potrai cercare, visualizzare, documentare e condividere i tuoi fogli di calcolo direttamente su Github.

Come cercare i dati in modo rapido e semplice con Whale
Un esempio di tabella stub generata utilizzando Github Actions. Demo completamente funzionante vedere in questa sezione.

Ricerca fulminea della CLI per il tuo repository

Whale vive e respira sulla riga di comando, fornendo potenti ricerche di millisecondi sui tuoi tavoli. Anche con milioni di tabelle, siamo riusciti a rendere whale incredibilmente performante utilizzando alcuni meccanismi di memorizzazione nella cache intelligenti e anche ricostruendo il backend in Rust. Non noterai alcun ritardo nella ricerca [ciao Google DS].

Come cercare i dati in modo rapido e semplice con Whale
Demo di Whale, ricerca di un milione di tabelle.

Calcolo automatico delle metriche [in beta]

Una delle cose che preferisco di meno come data scientist è eseguire le stesse query più e più volte solo per verificare la qualità dei dati utilizzati. Whale supporta la possibilità di definire metriche in SQL semplice che verranno pianificate per essere eseguite insieme alle pipeline di pulizia dei metadati. Definisci un blocco di metriche YAML all'interno della tabella stub e Whale verrà eseguito automaticamente in base a una pianificazione ed eseguirà query nidificate nelle metriche.

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

Come cercare i dati in modo rapido e semplice con Whale
In combinazione con Github, questo approccio significa che la balena può fungere da facile fonte centrale di verità per le definizioni metriche. Whale salva anche i valori insieme al timestamp nel file "~/. whale/metrics" se vuoi creare grafici o ricerche più approfondite.

Il futuro

Dopo aver parlato con gli utenti delle nostre versioni preliminari di whale, ci siamo resi conto che le persone avevano bisogno di più funzionalità. Perché uno strumento di ricerca tabella? Perché non uno strumento di ricerca delle metriche? Perché non monitorare? Perché non uno strumento di esecuzione di query SQL? Mentre whale v1 è stato originariamente concepito come un semplice strumento complementare della CLI Dataportal/Amundsen, si è già evoluto in una piattaforma autonoma completa e ci auguriamo che diventi parte integrante del toolkit di Data Scientist.

Se c'è qualcosa che vuoi vedere nel processo di sviluppo, unisciti al nostro alla comunità Slack, apri Problemi in Githubo anche contattare direttamente LinkedIn. Disponiamo già di una serie di funzioni interessanti: modelli Jinja, segnalibri, filtri di ricerca, avvisi Slack, integrazione Jupyter, persino una dashboard CLI per le metriche, ma ci piacerebbe il tuo contributo.

conclusione

Whale è sviluppato e gestito da Dataframe, una startup che ho recentemente avuto il piacere di fondare insieme ad altre persone. Mentre whale è fatto per i data scientist, Dataframe è fatto per i data scientist. Per quelli di voi che vogliono collaborare più da vicino, sentitevi liberi di farlo trattareti aggiungeremo alla lista d'attesa.

Come cercare i dati in modo rapido e semplice con Whale
E tramite codice promozionale CARPENNA, puoi ottenere un ulteriore 10% rispetto allo sconto indicato sul banner.

Più corsi

Articoli consigliati

Fonte: habr.com