Come cercare dati in modo semplice e veloce con Whale

Come cercare dati in modo semplice e veloce con Whale
Questo articolo tratta di uno strumento semplice e veloce per la scoperta dei dati, il cui funzionamento puoi vedere su KDPV. È interessante notare che whale è stato progettato per essere ospitato su un server git remoto. Maggiori dettagli dopo il tag.

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

Nella mia carriera ho avuto la fortuna di lavorare su alcuni problemi divertenti: ho studiato la matematica dei flussi mentre ottenevo la laurea al MIT, ho lavorato su modelli incrementali e su un progetto open source pylift in Wayfair, e ho anche implementato nuovi modelli di targeting nella homepage e miglioramenti CUPED in Airbnb. Ma tutto questo lavoro non è mai stato glamour: in realtà, spesso passavo la maggior parte del mio tempo a cercare, studiare e verificare i dati. Anche se era uno stato costante al lavoro, non mi era mai venuto in mente che fosse un problema fino a quando non sono arrivato 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 oggi {{metric}}? Dataportal.
Qual è il senso della vita? In Dataportal, probabilmente.

Va bene, hai presentato il quadro. Trovare i dati e capire cosa significano, come sono stati creati e come utilizzarli richiede solo pochi minuti, non ore. Potrei spendere il mio tempo a fare semplici conclusioni, o a lavorare su nuovi algoritmi, (… o a dare risposte a domande random sui dati), invece di frugare nelle note, scrivere query SQL ripetitive e menzionare i colleghi su Slack nel tentativo di ricreare il contesto che qualcun altro aveva già.

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 nella creazione e nel mantenimento di una piattaforma come Dataportal. E anche se ci sono alcune soluzioni open source, di solito sono progettate per la scalabilità, il che rende difficile la loro configurazione e manutenzione senza un ingegnere DevOps dedicato. Così ho deciso di creare qualcosa di nuovo.

Whale: uno strumento di scoperta dei dati semplice al punto da essere ridicolo

Come cercare dati in modo semplice e veloce con Whale

E sì, con semplice al punto da essere ridicolo intendo semplice al punto da essere ridicolo. Whale ha solo due componenti:

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

Dal punto di vista dell'infrastruttura interna necessaria per il supporto, ci sono solo numerosi file di testo e un programma di aggiornamento del testo. Questo è tutto, quindi l'hosting su un server git, come Github, è banale. Nessun nuovo linguaggio di query da apprendere, nessuna infrastruttura di gestione, nessun backup. Git è noto a tutti, quindi la sincronizzazione e la collaborazione sono incluse gratuitamente. Esaminiamo più nel dettaglio le funzionalità. Whale v1.0.

Interfaccia grafica completa basata su git

Whale è progettato per navigare negli oceani dei server git remoti. È estremamente facile da configurare: definisci alcune connessioni, copia lo script di Github Actions (o scrivilo per la piattaforma CI/CD scelta) e subito avrai uno strumento web di scoperta dei dati. Potrai cercare, visualizzare, documentare e condividere i tuoi fogli direttamente su Github.

Come cercare dati in modo semplice e veloce con Whale
Esempio di una tabella di segnaposto generata tramite Github Actions. Una dimostrazione completa puoi vederla in questa sezione.

Ricerca fulminea dalla CLI nel tuo repository

Whale vive e respira nella riga di comando, fornendo una ricerca funzionale, in millisecondi, nei tuoi fogli. Anche con milioni di fogli, siamo riusciti a rendere whale incredibilmente performante, utilizzando alcuni meccanismi di caching ingegnosi e ristrutturando il backend in Rust. Non noterai alcun ritardo nella ricerca [ciao, Google DS].

Come cercare dati in modo semplice e veloce con Whale
Dimostrazione di whale, ricerca su un milione di fogli.

Calcolo automatico delle metriche [in beta]

Una delle cose che mi piace meno come ricercatore di dati è eseguire le stesse query ripetutamente solo per verificare la qualità dei dati utilizzati. Whale supporta la possibilità di definire metriche in semplice SQL, che verranno eseguite programmando insieme ai tuoi pipeline di pulizia dei metadati. Definisci un blocco metrics in formato YAML all'interno della tabella di segnaposto e Whale verrà eseguita automaticamente secondo programma, eseguendo le query nidificate nelle metriche.

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

Come cercare dati in modo semplice e veloce con Whale
In combinazione con Github, questo approccio significa che whale può fungere da fonte centrale di verità per le metriche. Whale conserva anche i valori con il timestamp nella directory «~/.whale/metrics», se desideri creare un grafico o fare un'analisi più approfondita.

Futuro

Parlando con gli utenti delle nostre versioni preliminari di whale, abbiamo capito che le persone desiderano una funzionalità più ampia. Perché uno strumento di ricerca tabelare? Perché non uno strumento di ricerca delle metriche? Perché non un monitoraggio? Perché non uno strumento per l'esecuzione di query SQL? Anche se whale v1 è stato originariamente concepito come un semplice strumento di supporto CLI. Dataportal/Amundsen, è già diventato una piattaforma autonoma e multifunzionale, e speriamo che diventi parte integrante degli strumenti del data scientist.

Se c'è qualcosa che desideri vedere nel processo di sviluppo, unisciti al nostro comunità Slack, apri degli Issues su Github, o contatta direttamente LinkedIn. Abbiamo già un insieme interessante di funzionalità: modelli Jinja, segnalibri, filtri di ricerca, notifiche Slack, integrazione con Jupyter, addirittura una dashboard CLI per le metriche — ma saremo felici di ricevere il tuo contributo.

Conclusione

Whale è sviluppato e mantenuto da Dataframe, una startup che ho recentemente avuto il piacere di fondare insieme ad altre persone. Mentre whale è creato per specialisti nella gestione dei dati, Dataframe è destinata a team di data processing. Per coloro di voi che desiderano collaborare più da vicino — non esitate a contattare, ti aggiungeremo alla lista di attesa.

Come cercare dati in modo semplice e veloce con Whale
E con il codice promozionale HABR, puoi ottenere un ulteriore 10% di sconto sul prezzo indicato nel banner.

Altri corsi

Articoli consigliati

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS - ProHoster