Kako brzo i jednostavno pretraživati ​​podatke s Whaleom

Kako brzo i jednostavno pretraživati ​​podatke s Whaleom
Ovaj članak govori o najjednostavnijem i najbržem alatu za otkrivanje podataka, čiji rad vidite na KDPV-u. Zanimljivo, whale je dizajniran za hosting na udaljenom git poslužitelju. Detalji ispod kroja.

Kako mi je Airbnbov alat za otkrivanje podataka promijenio život

U svojoj karijeri imao sam sreću raditi na nekim zabavnim problemima: studirao sam matematiku toka dok sam diplomirao na MIT-u, radio na inkrementalnim modelima i na projektu otvorenog koda pylift na Wayfairu i implementirao nove modele ciljanja početne stranice i CUPED poboljšanja na Airbnbu. Ali sav ovaj posao nikada nije bio glamurozan - zapravo, često sam većinu svog vremena provodio tražeći, istražujući i potvrđujući podatke. Iako je to bilo stalno stanje na djelu, nije mi palo na pamet da je to problem sve dok nisam došao do Airbnba gdje je riješen alatom za otkrivanje podataka − dataportal.

Gdje mogu pronaći {{data}}? dataportal.
Što znači ovaj stupac? dataportal.
Kako je {{metric}} danas? dataportal.
Što je smisao života? U dataportal, vjerojatno.

U redu, predstavili ste sliku. Pronalaženje podataka i razumijevanje što oni znače, kako su nastali i kako ih sve koristiti traje samo nekoliko minuta, a ne sati. Mogao bih potrošiti svoje vrijeme izvlačeći jednostavne zaključke ili nove algoritme (... ili odgovarajući na nasumična pitanja o podacima), umjesto da kopam po bilješkama, pišući ponavljajuće SQL upite i spominjući kolege na Slacku da pokušam ponovno stvoriti kontekst. taj netko drugi već imao.

U čemu je problem?

Shvatio sam da većina mojih prijatelja nije imala pristup takvom alatu. Nekoliko je tvrtki spremno posvetiti ogromne resurse izgradnji i održavanju alata platforme kao što je Dataportal. I dok postoji nekoliko rješenja otvorenog koda, ona su dizajnirana za skaliranje, što otežava postavljanje i održavanje bez posvećenog DevOps inženjera. Pa sam odlučio stvoriti nešto novo.

Whale: Glupo jednostavan alat za otkrivanje podataka

Kako brzo i jednostavno pretraživati ​​podatke s Whaleom

I da, pod glupo jednostavno mislim na glupo jednostavno. Kit ima samo dvije komponente:

  1. Python biblioteka koja prikuplja metapodatke i formatira ih u MarkDown.
  2. Rust sučelje naredbenog retka za pretraživanje ovih podataka.

S gledišta interne infrastrukture za održavanje postoji samo mnoštvo tekstualnih datoteka i program koji ažurira tekst. To je to, tako da je hosting na git poslužitelju poput Githuba trivijalan. Nema novog jezika upita za učenje, nema infrastrukture upravljanja, nema sigurnosnih kopija. Svi znaju Git, pa su sinkronizacija i suradnja besplatni. Pogledajmo pobliže funkcionalnost Kit v1.0.

Potpuno opremljeno GUI temeljeno na git-u

Whale je dizajniran da pliva u oceanu udaljenog git poslužitelja. On vrlo jednostavno konfigurabilno: definirajte neke veze, kopirajte Github Actions skriptu (ili napišite jednu za svoju odabranu CI/CD platformu) i odmah ćete imati web alat za otkrivanje podataka. Moći ćete pretraživati, pregledavati, dokumentirati i dijeliti svoje proračunske tablice izravno na Githubu.

Kako brzo i jednostavno pretraživati ​​podatke s Whaleom
Primjer stub tablice generirane pomoću Github Actions. Puni radni demo pogledajte u ovom odjeljku.

Munjevita CLI pretraga vašeg repozitorija

Whale živi i diše na naredbenom retku, pružajući snažna pretraživanja u milisekundama po vašim stolovima. Čak i s milijunima tablica, uspjeli smo učiniti whale nevjerojatno učinkovitim korištenjem nekih pametnih mehanizama predmemoriranja i ponovnom izgradnjom pozadine u Rustu. Nećete primijetiti odgodu pretraživanja [zdravo Google DS].

Kako brzo i jednostavno pretraživati ​​podatke s Whaleom
Whale demo, pregled milijunske tablice.

Automatski izračun metrike [u beta verziji]

Jedna od mojih najmanje omiljenih stvari kao podatkovnog znanstvenika je iznova i iznova pokretati iste upite samo da provjerim kvalitetu podataka koji se koriste. Whale podržava mogućnost definiranja metrike u običnom SQL-u koja će biti zakazana za izvođenje zajedno s vašim cjevovodima za čišćenje metapodataka. Definirajte YAML metrički blok unutar stub table i Whale će se automatski pokrenuti prema rasporedu i pokrenuti upite ugniježđene u metriku.

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

Kako brzo i jednostavno pretraživati ​​podatke s Whaleom
U kombinaciji s Githubom, ovaj pristup znači da whale može poslužiti kao jednostavan središnji izvor istine za metričke definicije. Whale čak sprema vrijednosti zajedno s vremenskom oznakom u "~/. whale/metrics" ako želite izraditi grafikone ili dublje istražiti.

Budućnost

Nakon razgovora s korisnicima naših prije izdanja verzija whalea, shvatili smo da je ljudima potrebno više funkcionalnosti. Zašto alat za pretraživanje tablice? Zašto ne alat za pretraživanje mjernih podataka? Zašto ne pratiti? Zašto ne alat za izvršavanje SQL upita? Dok je whale v1 izvorno zamišljen kao jednostavan CLI popratni alat Dataportal/Amundsen, već se razvio u potpuno opremljenu samostalnu platformu i nadamo se da će postati sastavni dio alata Data Scientista.

Ako postoji nešto što želite vidjeti u procesu razvoja, pridružite nam se Slack zajednici, otvorite pitanja na Githubili čak izravno kontaktirati LinkedIn. Već imamo brojne cool značajke - Jinja predloške, oznake, filtre za pretraživanje, Slack upozorenja, Jupyter integraciju, čak i CLI nadzornu ploču za metriku - ali voljeli bismo vaše mišljenje.

Zaključak

Whale je razvio i održava Dataframe, startup koji sam nedavno imao zadovoljstvo suosnivati ​​s drugim ljudima. Dok je whale stvoren za znanstvenike podataka, Dataframe je napravljen za znanstvenike podataka. Za one od vas koji žele bliže surađivati, slobodno adresami ćemo vas dodati na listu čekanja.

Kako brzo i jednostavno pretraživati ​​podatke s Whaleom
I to promo kodom HABR, možete dobiti dodatnih 10% na popust naveden na banneru.

Više tečajeva

Istaknuti članci

Izvor: www.habr.com