V tem članku govorimo o preprostem in hitrem orodju za odkrivanje podatkov, katerega delovanje lahko vidite na KDVP. Zanimivo je, da je whale zasnovan tako, da se nahaja na oddaljenem git strežniku. Podrobnosti spodaj.
Kako je orodje za odkrivanje podatkov Airbnb spremenilo moje življenje
V svoji karieri sem imel srečo, da sem delal na nekaterih zabavnih izzivih: preučeval sem matematik tokov med študijem na MIT, delal na inkrementalnih modelih in pri projektu z odprto kodo v Wayfairju, prav tako pa sem uvajal nove modele usmerjanja na domačo stran in izboljšave CUPED v Airbnb. Toda vse to delo nikoli ni bilo glamurozno — v resnici sem pogosto preživel večino svojega časa z iskanjem, raziskovanjem in preverjanjem podatkov. Čeprav je bilo to stalno stanje v službi, mi ni padlo na pamet, da je to težava, dokler nisem prišel v Airbnb, kjer je bila rešena z orodjem za odkrivanje podatkov — .
Kje lahko najdem {{data}}? Dataportal.
Kaj pomeni ta stolpec? Dataportal.
Kako gre {{metric}} danes? Dataportal.
Kakšen je smisel življenja? V Dataportal, verjetno.
OK, prikazali ste sliko. Iskanje podatkov in razumevanje, kaj pomenijo, kako so bili ustvarjeni in kako jih uporabiti — vse to traja le nekaj minut, ne pa ur. Lahko bi porabil svoj čas za preproste sklepe ali za nove algoritme, (… ali odgovore na naključna vprašanja o podatkih), namesto da bi kopal po opombah, pisal ponavljajoče se poizvedbe SQL in omenjal sodelavce na Slacku, da bi poskušal obnoviti kontekst, ki ga je že imel nekdo drug.
Kakšna je težava?
Ugotovil sem, da večina mojih prijateljev ni imela dostopa do takega orodja. Le malo podjetij želi nameniti ogromne vire za ustvarjanje in vzdrževanje orodja-platforme, kot je Dataportal. In čeprav obstajajo nekatera odprtokodna rešitev, so običajno zasnovane za razširljivost, kar otežuje nastavitev in vzdrževanje brez posvečenega inženirja DevOps. Zato sem se odločil ustvariti nekaj novega.
Whale: preprost do nesmiselnosti orodje za odkrivanje podatkov

In da, pod preprostim do nesmiselnosti mislim preprost do nesmiselnosti. Whale ima le dva komponente:
- Python knjižnica, ki zbira metadata in jih formatira v MarkDown.
- Ukaznik ukazne linije na Rust za pretraživanje ovih podataka.
Sa stanovišta unutrašnje infrastrukture koja podržava, postoji samo mnoštvo tekstualnih datoteka i program za ažuriranje. To je sve, pa je postavljanje na git serveru kao što je Github trivijalno. Nema novog jezika upita koji bi trebalo učiti, nema infrastrukture za upravljanje, nema rezervnih kopija. Git je poznat svima, tako da su sinhronizacija i saradnja dostupne besplatno. Pogleđajmo detaljnije funkcionalnosti. .
Potpuno funkcionalno grafičko sučelje zasnovano na gitu
Whale je stvoren da plovi okeanom udaljenog git servera. On za konfiguraciju: definišite neka povezivanja, kopirajte Github Actions skriptu (ili je napišite za izabranu CI/CD platformu) — i odmah ćete dobiti web alat za otkrivanje podataka. Moći ćete da pretražujete, pregledate, dokumentujete i delite svoje tabele direktno na Githubu.

Primer generisane tabele-sažetka pomoću Github Actions. Potpunu funkcionalnu demonstraciju .
Munjevito brza pretraga iz CLI-a po vašem repozitorijumu
Whale živi i diše u komandnoj liniji, pružajući funkcionalnu, milisekundnu pretragu po vašim tabelama. Čak i sa milionima tabela, uspeli smo da whale učinimo neverovatno efikasnim, koristeći neke pametne mehanizme keširanja, kao i rekonstrukciju backend-a na Rust-u. Nećete primetiti nikakvu kašnjenje pretrage [pozdrav, Google DS].

Demonstracija whale, pretraga po milionu tabela.
Automatsko izračunavanje metrika [u beta verziji]
Jedna od mojih manje omiljenih stvari kao istraživača podataka jeste pokretanje istih upita iznova i iznova samo da bih proverio kvalitet korišćenih podataka. Whale podržava mogućnost definisanja metrika u jednostavnom SQL-u, koje će se izvršavati prema rasporedu zajedno sa vašim procesima čišćenja metapodataka. Definišite blok metrics u YAML formatu unutar tabele sažetka, a Whale će se automatski izvršavati prema rasporedu i pokretati ugnježdene upite u metrics.
```metrics
metric-name:
sql: |
select count(*) from table
``` 
V kombinaciji z Githubom tak pristop pomeni, da whale lahko služi kot enostaven osrednji vir resnice za določanje metrik. Whale celo shrani vrednosti skupaj z oznako časa v direktoriju »~/whale/metrics«, če želite izdelati neki graf ali globlje raziskovanje.
Prihodnost
Po pogovoru z uporabniki naših predizdajnih različic whale smo ugotovili, da ljudem potrebujemo širšo funkcionalnost. Zakaj prav orodje za iskanje tabel? Zakaj ne orodje za iskanje metrik? Zakaj ne spremljanje? Zakaj ne orodje za izvajanje SQL poizvedb? Čeprav je bila whale v1 prvotno zasnovana kot preprosto orodje za CLI spremljevanje, Dataportal/Amundsen, se je že preoblikovala v funkcionalno samostojno platformo, in upamo, da bo postala nepogrešljiv del orodjarne podatkovnih znanstvenikov.
Če je karkoli, kar želite videti v procesu razvoja, se pridružite naši , odprite Issues na , ali se celo neposredno obrnite na . Že imamo celo vrsto zanimivih funkcij — Jinja predloge, zaloge, filtre iskanja, Slack obvestila, integracija z Jupyterjem, celo CLI plošča za metrike — toda z veseljem bomo sprejeli vaš prispevek.
Zaključek
Whale razvija in podpira Dataframe, startup, ki sem ga nedavno z veseljem ustanovil skupaj z drugimi. Medtem ko je whale zasnovan za strokovnjake za obdelavo podatkov, je Dataframe namenjen ekipam za obdelavo podatkov. Za tiste med vami, ki želite sodelovati tesneje — ne oklevajte , dodali vas bomo na čakalni seznam.
In s promocodnom HABR, lahko pridobite dodatnih 10% popusta na že navedeni promociji.
Još tečajeva
Preporučeni članci
Izvor: habr.com
