U ovom materijalu govori se o jednostavnom i brzom alatu za otkrivanje podataka, čiji rad možete vidjeti na KDPV-u. Zanimljivo je da je Whale dizajniran da se može smjestiti na udaljenom git poslužitelju. Detalji su ispod.
Kako je alat za otkrivanje podataka Airbnb-a promijenio moj život
U svojoj karijeri imao sam sreću raditi na nekim zanimljivim problemima: studirao sam matematici tokova tijekom studija na MIT-u, radio sam na inkrementalnim modelima i s projektom otvorenog koda u Wayfairu, kao i implementirao nove modele ciljanja na početnu stranicu i poboljšanja CUPED-a u Airbnb-u. Međutim, sav taj rad nikada nije bio glamurozan — zapravo, često sam provodio većinu svog vremena tražeći, proučavajući i verificirajući podatke. Iako je to bio stalni pritisak na poslu, nije mi palo na pamet da je to problem sve dok nisam došao u Airbnb, gdje je riješen alatom za otkrivanje podataka — .
Gdje mogu pronaći {{data}}? Dataportal.
Što znači ova kolona? Dataportal.
Kako je danas {{metric}}? Dataportal.
Koja je svrha života? U Dataportal, vjerojatno.
Dobro, dočarali ste sliku. Pronaći podatke i razumjeti što znače, kako su stvoreni i kako ih koristiti — sve to traje samo nekoliko minuta, a ne sati. Mogao bih trošiti svoje vrijeme na jednostavne zaključke ili nove algoritme, (… ili odgovore na slučajna pitanja o podacima), umjesto da pretražujem bilješke, pišem ponavljajuće SQL upite i spominjem kolege u Slacku kako bih pokušao rekonstruirati kontekst koji je već imao netko drugi.
A koji je problem?
Shvatio sam da većina mojih prijatelja nije imala pristup takvom alatu. Nekoliko tvrtki želi ulagati ogromne resurse u razvoj i održavanje takve platforme kao što je Dataportal. Iako postoji nekoliko rješenja otvorenog koda, ona su obično dizajnirana za skaliranje, što otežava prilagodbu i održavanje bez posvećenog DevOps inženjera. Stoga sam odlučio stvoriti nešto novo.
Whale: jednostavan do besmisla alat za otkrivanje podataka

I da, pod jednostavnim do besmisla mislim na jednostavno do besmisla. Whale ima samo dva sastavna dijela:
- Python knjižnica koja prikuplja metapodatke i formatira ih u MarkDown.
- Rust sučelje naredbenog retka za pretraživanje ovih podataka.
Što se tiče interne infrastrukture za podršku, tu su samo brojni tekstualni datoteci i program za ažuriranje teksta. To je sve, stoga je hostanje na git poslužitelju kao što je Github trivijalno. Nema novog jezika upita kojeg treba naučiti, nema infrastrukture za upravljanje, nema sigurnosnih kopija. Git je svima poznat, tako da je sinkronizacija i suradnja besplatna. Pogledajmo detaljnije funkcionalnost .
Potpuno funkcionalno grafičko sučelje na bazi git-a
Whale je stvoren da plovi oceanom udaljenog git poslužitelja. On se konfigurira: odredite neke veze, kopirajte Github Actions skriptu (ili je napišite za odabranu CI/CD platformu) — i odmah ćete dobiti web alat za otkrivanje podataka. Možete pretraživati, pregledavati, dokumentirati i dijeliti svoje tablice izravno na Githubu.

Primjer generirane tablice sa zupcima pomoću Github Actions. Potpunu radnu demonstraciju .
Munjevito brza pretraga iz CLI-a po vašem spremištu
Whale živi i diše u naredbenom retku, pružajući funkcionalnu, milisekundsku pretragu vaših tablica. Čak i s milijunima tablica uspjeli smo učiniti whale nevjerojatno učinkovitim koristeći nekoliko genijalnih mehanizama keširanja, kao i rekonstrukcijom backend-a na Rustu. Nećete primijetiti nikakvo kašnjenje u pretraživanju [pozdrav, Google DS].

Demonstracija whale-a, pretraga milijuna tablica.
Automatsko izračunavanje metrika [u beta verziji]
Jedna od mojih manje omiljenih stvari kao znanstvenika-istraživača podataka je neprestano pokretanje istih upita samo da bi se provjerila kvaliteta korištenih podataka. Whale podržava mogućnost definiranja metrika u jednostavnom SQL-u, koji će se izvršavati po rasporedu zajedno s vašim cjevovodima za čišćenje metapodataka. Definirajte blok metrika u YAML formatu unutar tablice s uzorkom, a Whale će se automatski izvršavati prema rasporedu i pokretati ugniježdene upite unutar metrika.
```metrics
metric-name:
sql: |
select count(*) from table
``` 
U kombinaciji s Githubom, ovakav pristup znači da whale može služiti kao lak središnji izvor istine za definicije metrike. Whale čak pohranjuje vrijednosti zajedno s vremenskim oznakama u direktoriju '/whale/metrics', ako želite napraviti neki grafikon ili dublje istraživanje.
Budućnost
Razgovarajući s korisnicima naših predizdanja whale, shvatili smo da ljudima treba šira funkcionalnost. Zašto alat za pretraživanje tablica? Zašto ne alat za pretraživanje metrika? Zašto ne monitoring? Zašto ne alat za izvršavanje SQL upita? Iako je whale v1 izvorno zamišljen kao jednostavni CLI alat. Dataportal/Amundsen, već se pretvorio u potpuno funkcionalnu autonomnu platformu i nadamo se da će postati neizostavni dio alata data scientista.
Ako postoji nešto što želite vidjeti tijekom razvoja, pridružite se našem , otvorite Issues na , ili čak kontaktirajte izravno . Već imamo niz zanimljivih funkcija — Jinja predloške, oznake, filtre pretraživanja, Slack obavijesti, integraciju s Jupyterom, čak i CLI nadzornu ploču za metrike — ali bit ćemo sretni na vašem doprinosu.
Zaključak
Whale razvija i održava Dataframe, startup koji sam imao zadovoljstvo osnovati nedavno s drugim ljudima. Dok je whale stvoren za stručnjake za obradu podataka, Dataframe je namijenjen timovima za obradu podataka. Za one od vas koji žele usko surađivati — ne ustručavajte se , dodati ćemo vas na listu čekanja.
A s promotivnim kodom HABR, možete dobiti dodatnih 10% popusta na cijenu navedenu na baneru.
Ostali tečajevi
Preporučeni članci
Izvor: habr.com
