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 je da je whale dizajniran da bude hostovan na udaljenom git serveru. Detalji ispod reza.

Kako mi je Airbnbov alat za otkrivanje podataka promijenio život

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

Gdje mogu pronaći {{data}}? dataportal.
Šta znači ova kolona? dataportal.
Kako je {{metric}} danas? dataportal.
Šta je smisao života? IN dataportal, vjerovatno.

U redu, predstavili ste sliku. Pronalaženje podataka i razumijevanje šta oni znače, kako su kreirani i kako ih sve koristiti traje samo nekoliko minuta, a ne sati. Mogao bih provesti svoje vrijeme izvodeći jednostavne zaključke, ili nove algoritame, (...ili odgovarajući na nasumična pitanja o podacima), umjesto da kopam po bilješkama, pišem ponavljajuće SQL upite i spominjem kolege na Slack-u da pokušam ponovo stvoriti kontekst. da neko drugi već imao.

Šta je problem?

Shvatio sam da većina mojih prijatelja nije imala pristup takvom alatu. Nekoliko kompanija je spremno da posveti ogromne resurse izgradnji i održavanju platformskog alata kao što je Dataportal. I dok postoji nekoliko rješenja otvorenog koda, oni su obično dizajnirani za skaliranje, što otežava postavljanje i održavanje bez posvećenog DevOps inženjera. Zato sam odlučio da kreiram nešto novo.

Kit: 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 interfejs komandne linije za pretragu ovih podataka.

Sa stanovišta interne infrastrukture za održavanje, postoji samo puno tekstualnih datoteka i program koji ažurira tekst. To je to, tako da je hostovanje na git serveru kao što je Github trivijalno. Nema novog jezika upita za učenje, nema infrastrukture za upravljanje, nema rezervnih kopija. Svi znaju Git, tako da su sinhronizacija i suradnja besplatni. Pogledajmo detaljnije funkcionalnost Whale v1.0.

Potpuno opremljen GUI baziran na git-u

Whale je dizajniran da pliva u okeanu udaljenog git servera. On vrlo lako podesivo: definirajte neke veze, kopirajte Github Actions skriptu (ili je napišite za 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 tabele direktno na Githubu.

Kako brzo i jednostavno pretraživati ​​podatke s Whaleom
Primjer stub tablice generirane korištenjem Github Actions. Kompletan radni demo vidi u ovom odeljku.

Munjevito brza CLI pretraga vašeg spremišta

Whale živi i diše na komandnoj liniji, pružajući moćne pretrage u milisekundi po vašim tablicama. Čak i sa milionima tabela, uspeli smo da učinimo kita neverovatno efikasnim korišćenjem nekih pametnih mehanizama za keširanje i tako što smo ponovo izgradili pozadinu u Rustu. Nećete primijetiti kašnjenje u pretraživanju [zdravo Google DS].

Kako brzo i jednostavno pretraživati ​​podatke s Whaleom
Whale demo, milion tabela pretraživanja.

Automatsko izračunavanje metrike [u beta]

Jedna od mojih najmanje omiljenih stvari kao naučnika podataka je pokretanje istih upita iznova i iznova samo da bih provjerio kvalitet podataka koji se koriste. Whale podržava mogućnost definiranja metrike u običnom SQL-u koji će biti zakazan za pokretanje zajedno s vašim cevovodima za čišćenje metapodataka. Definirajte YAML metrički blok unutar stub tablice, a 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 kit može poslužiti kao jednostavan centralni izvor istine za metričke definicije. Whale čak sprema vrijednosti zajedno sa vremenskom oznakom u "~/. whale/metrics" ako želite napraviti neke grafikone ili dublje istraživanje.

Budućnost

Nakon razgovora s korisnicima naših predizdanja verzija whalea, shvatili smo da ljudima treba više funkcionalnosti. Zašto alat za traženje tabele? Zašto ne alat za pretraživanje metrika? Zašto ne pratiti? Zašto ne alat za izvršavanje SQL upita? Dok je whale v1 prvobitno zamišljen kao jednostavan CLI prateći alat Dataportal/Amundsen, već je evoluirao u potpuno opremljenu samostalnu platformu i nadamo se da će postati sastavni dio alata Data Scientist-a.

Ako postoji nešto što želite da vidite u procesu razvoja, pridružite nam se Slack zajednici, otvorite Problemi na GitHubili čak direktno kontaktirajte LinkedIn. Već imamo niz odličnih karakteristika - Jinja šablone, oznake, filtere za pretragu, Slack upozorenja, Jupyter integraciju, čak i CLI kontrolnu tablu za metriku - ali voljeli bismo vaš doprinos.

zaključak

Whale razvija i održava Dataframe, startup koji sam nedavno imao zadovoljstvo osnovati s drugim ljudima. Dok je kit napravljen za naučnike podataka, Dataframe je napravljen za naučnike podataka. Za one od vas koji žele bližu saradnju, slobodno adresami ćemo vas dodati na listu čekanja.

Kako brzo i jednostavno pretraživati ​​podatke s Whaleom
I po promo kodu HABR, možete dobiti dodatnih 10% na popust naznačen na baneru.

Više kurseva

Preporučeni članci

izvor: www.habr.com