Cum să căutăm rapid și ușor datele cu ajutorul Whale

Cum să căutăm rapid și ușor datele cu ajutorul Whale
Acest material prezintă un instrument simplu și rapid de detectare a datelor, al cărui funcționare o vedeți în KDPV. Interesant este că whale este conceput pentru a fi găzduit pe un server git la distanță. Detalii mai jos.

Cum instrumentul de detectare a datelor Airbnb mi-a schimbat viața

În cariera mea, am avut norocul să lucrez la unele probleme interesante: am studiat matematica fluxurilor în timpul obținerii diplomei la MIT, am lucrat la modele incrementale și la un proiect cu sursă deschisă pylift în Wayfair și am implementat noi modele de targetare pe pagina de start și îmbunătățiri CUPED la Airbnb. Dar tot acest lucru nu a fost niciodată strălucitor — de fapt, adesea mi-am petrecut cea mai mare parte a timpului căutând, studiind și verificând datele. Deși aceasta era o stare constantă la locul de muncă, nu mi-a trecut prin cap că este o problemă până când am ajuns la Airbnb, unde a fost rezolvată cu ajutorul unui instrument de detectare a datelor — Dataportal.

Unde pot găsi {{data}}? Dataportal.
Ce înseamnă această coloană? Dataportal.
Cum se descurcă {{metric}} astăzi? Dataportal.
Care este sensul vieții? În Dataportal, probabil.

Bine, ai conturat imaginea. Găsirea datelor și înțelegerea a ceea ce înseamnă, cum au fost create și cum să le folosești — toate acestea durează doar câteva minute, nu ore. Aș putea să îmi petrec timpul făcând concluzii simple sau noi algoritmi, (… sau să răspund la întrebări aleatorii despre date), în loc să caut prin note, să scriu interogări SQL repetitive și să menționez colegii în Slack pentru a încerca să recreez contextul pe care deja îl avea cineva altcineva.

Dar care este problema?

Am realizat că majoritatea prietenilor mei nu aveau acces la un astfel de instrument. Puține companii doresc să aloce resurse enorme pentru a crea și a menține un astfel de instrument-platformă precum Dataportal. Și deși există câteva soluții cu sursă deschisă, acestea sunt în general concepute pentru scalabilitate, ceea ce face dificilă configurarea și întreținerea fără un inginer DevOps dedicat. Așadar, am decis să creez ceva nou.

Whale: un instrument simplu până la prostie pentru detectarea datelor

Cum să căutăm rapid și ușor datele cu ajutorul Whale

Și da, prin simplu până la prostie mă refer la simplu până la prostie. Whale are doar două componente:

  1. O bibliotecă Python care colectează metadate și le formatează în MarkDown.
  2. Interfața de linie de comandă pe Rust pentru căutarea acestor date.

Din punct de vedere al infrastructurii interne pentru întreținere, există doar o serie de fișiere text și un program de actualizare a textului. Asta e tot, prin urmare, găzduirea pe un server Git, cum ar fi Github, este trivială. Niciun nou limbaj de interogare care să trebuie să fie învățat, nici o infrastructură de gestionare, niciun backup. Git este cunoscut de toată lumea, astfel că sincronizarea și colaborarea sunt incluse gratuit. Să ne uităm mai în detaliu la funcționalitate. Whale v1.0.

Interfață grafică complet funcțională bazată pe git

Whale este creat pentru a naviga în oceanul serverului git la distanță. El este foarte ușor de configurat: definește câteva conexiuni, copiază scriptul Github Actions (sau scrie-l pentru platforma ta CI/CD aleasă) — și vei obține imediat un instrument web de descoperire a datelor. Vei putea căuta, vizualiza, documenta și împărtăși tabelele tale direct pe Github.

Cum să căutăm rapid și ușor datele cu ajutorul Whale
Un exemplu de tabel de umplutură generat cu ajutorul Github Actions. O demonstrație complet funcțională o poți vedea în această secțiune..

Căutare fulgerătoare din CLI în depozitul tău.

Whale trăiește și respiră în linia de comandă, oferind o căutare funcțională, în milisecunde, în tabelele tale. Chiar și cu milioane de tabele, am reușit să facem whale incredibil de performant, folosind câteva mecanisme ingenioase de cache, precum și reproiectând backend-ul pe Rust. Nu vei observa nicio întârziere în căutare [salut, Google DS].

Cum să căutăm rapid și ușor datele cu ajutorul Whale
Demonstrarea whale, căutând în milioane de tabele.

Calcularea automată a metricilor [în beta]

Una dintre lucrurile mele cele mai puțin plăcute ca cercetător de date este să rulez aceleași interogări din nou și din nou doar pentru a verifica calitatea datelor utilizate. Whale suportă capacitatea de a defini metrici într-un SQL simplu, care vor fi executate conform unui program împreună cu conveioarele tale de curățare a metadatelor. Definește un bloc metrics în format YAML în interiorul tabelului de umplutură, iar Whale va rula automat conform programului și va executa interogările incluse în metrics.

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

Cum să căutăm rapid și ușor datele cu ajutorul Whale
În combinație cu Github, această abordare înseamnă că whale poate servi ca o sursă centrală ușoară de adevăr pentru definițiile metricilor. Whale păstrează chiar și valorile împreună cu marca temporală în directorul »~/whale/metrics«, dacă doriți să creați vreun grafic sau o cercetare mai profundă.

Viitorul

După ce am discutat cu utilizatorii versiunilor noastre de pre-lansare whale, am realizat că oamenii au nevoie de o funcționalitate mai extinsă. De ce un instrument de căutare în format tabelar? De ce nu un instrument de căutare a metricilor? De ce nu monitorizare? De ce nu un instrument de execuție a interogărilor SQL? Deși whale v1 a fost inițial conceput ca un instrument companion simplu CLI, Dataportal/Amundsen, s-a transformat deja într-o platformă autonomă complet funcțională, și sperăm că va deveni o parte integrantă a instrumentarului unui data-scientist.

Dacă există ceva ce doriți să vedeți în procesul de dezvoltare, alăturați-vă comunității noastre Slack, deschideți Issues pe Github, sau chiar contactați-ne direct la LinkedIn. Avem deja o serie de funcționalități interesante — șabloane Jinja, marcaje, filtre de căutare, alerte Slack, integrare cu Jupyter, chiar și un panou CLI pentru metrici — dar am fi bucuroși să primim contribuția dumneavoastră.

Concluzie

Whale este dezvoltat și susținut de Dataframe, o startup pe care am avut recent plăcerea să o fundamentez împreună cu alții. În timp ce whale este creat pentru specialiștii în procesarea datelor, Dataframe este destinat echipelor de procesare a datelor. Pentru cei care doresc să colaboreze mai strâns — nu ezitați să contactați, vă vom adăuga pe lista de așteptare.

Cum să căutăm rapid și ușor datele cu ajutorul Whale
Și cu codul de reducere HABR, puteți obține un discount suplimentar de 10% față de discountul indicat pe banner.

Alte cursuri

Articole recomandate

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster