KÄ Ätri un Ärti meklÄt datus, izmantojot Whale
Å ajÄ materiÄlÄ ir aprakstÄ«ts vienkÄrÅ”Äkais un ÄtrÄkais datu atklÄÅ”anas rÄ«ks, kura darbÄ«bu redzat uz KDPV. Interesanti, ka valis ir paredzÄts mitinÄÅ”anai attÄlÄ git serverÄ«. SÄ«kÄka informÄcija zem griezuma.
KÄ Airbnb datu atklÄÅ”anas rÄ«ks mainÄ«ja manu dzÄ«vi
Man ir paveicies savÄ karjerÄ piestrÄdÄt pie dažÄm jautrÄm problÄmÄm: es studÄju pavedienu matemÄtiku, iegÅ«stot grÄdu MIT, strÄdÄju pie inkrementÄlajiem modeļiem un atvÄrtÄ pirmkoda projekta. pilfs Wayfair, kÄ arÄ« jaunu mÄjaslapu mÄrÄ·auditorijas atlases modeļu un CUPED uzlabojumu ievieÅ”ana Airbnb. Bet viss Å”is darbs nekad nav bijis krÄÅ”Ås ā patiesÄ«bÄ es lielÄko daļu laika pavadÄ«ju, meklÄjot, pÄtot un pÄrbaudot datus. Lai gan tas bija pastÄvÄ«gs stÄvoklis darbÄ, man neienÄca prÄtÄ, ka tÄ ir problÄma, lÄ«dz es nokļuvu Airbnb, kur tÄ tika atrisinÄta, izmantojot datu atklÄÅ”anas rÄ«ku. Datu portÄls.
Kur es varu atrast {{data}}? Datu portÄls.
Ko nozÄ«mÄ Å”Ä« kolonna? Datu portÄls.
KÄ {{metric}} klÄjas Å”odien? Datu portÄls.
Kas ir dzÄ«ves izjÅ«ta? IN Datu portÄls, droÅ”i vien.
Labi, jums ir attÄls. Datu atraÅ”ana un izpratne par to nozÄ«mi, kÄ tie tika izveidoti un kÄ to visu izmantot aizÅem minÅ«tes, nevis stundas. Es varÄtu pavadÄ«t savu laiku, izdarot vienkÄrÅ”us secinÄjumus vai jaunus algoritmus (...vai atbildot uz nejauÅ”iem jautÄjumiem par datiem), nevis rakÅÄties pa piezÄ«mÄm, rakstÄ«t atkÄrtotus SQL vaicÄjumus un pieminÄt kolÄÄ£us Slack, lai mÄÄ£inÄtu atjaunot kontekstu, ko kÄds cits jau bija.
KÄda ir problÄma?
Es sapratu, ka lielÄkajai daļai manu draugu nebija pieejams Å”Äds rÄ«ks. Tikai daži uzÅÄmumi vÄlas veltÄ«t milzÄ«gus resursus tÄda platformas rÄ«ka kÄ Dataportal izveidei un uzturÄÅ”anai. Un, lai gan ir pieejami vairÄki atvÄrtÄ pirmkoda risinÄjumi, tie parasti ir paredzÄti mÄrogoÅ”anai, apgrÅ«tinot iestatÄ«Å”anu un apkopi bez Ä«paÅ”a DevOps inženiera. TÄpÄc es nolÄmu izveidot kaut ko jaunu.
Valis: muļķīgi vienkÄrÅ”s datu atklÄÅ”anas rÄ«ks
Un jÄ, ar vienkÄrÅ”u lÄ«dz stulbumam es domÄju vienkÄrÅ”u lÄ«dz stulbumam. valim ir tikai divas sastÄvdaļas:
Python bibliotÄka, kas apkopo metadatus un formatÄ tos pakalpojumÄ MarkDown.
Rust komandrindas saskarne Å”o datu meklÄÅ”anai.
No tehniskÄs apkopes iekÅ”ÄjÄs infrastruktÅ«ras viedokļa ir tikai daudz teksta failu un programma, kas atjaunina tekstu. Tas arÄ« viss, tÄpÄc mitinÄÅ”ana tÄdÄ Git serverÄ« kÄ Github ir mazsvarÄ«ga. Nav jaunas vaicÄjumu valodas, kas jÄapgÅ«st, nav pÄrvaldÄ«bas infrastruktÅ«ras, nav rezerves kopiju. Git ir zinÄms visiem, tÄpÄc sinhronizÄcija un sadarbÄ«ba ir bez maksas. SÄ«kÄk apskatÄ«sim funkcionalitÄti Valis v1.0.
PilnÄ«bÄ aprÄ«kots git balstÄ«ts GUI
Valis ir paredzÄts, lai kuÄ£otu attÄlÄ Git servera okeÄnÄ. ViÅÅ” ļoti viegli pielÄgojams: definÄjiet dažus savienojumus, nokopÄjiet Github Actions skriptu (vai uzrakstiet to savai CI/CD platformai pÄc izvÄles), un jums Ätri bÅ«s pieejams tÄ«mekļa datu atklÄÅ”anas rÄ«ks. JÅ«s varÄsiet meklÄt, skatÄ«t, dokumentÄt un kopÄ«got savas izklÄjlapas tieÅ”i vietnÄ Github.
Galda tabulas piemÄrs, kas Ä£enerÄts, izmantojot Github Actions. Pilna darba demonstrÄcija skatieties Å”ajÄ sadaļÄ.
Zibens Ätra CLI meklÄÅ”ana jÅ«su repozitorijÄ
Valis dzÄ«vo un elpo komandrindÄ, nodroÅ”inot jaudÄ«gus milisekundes meklÄjumus jÅ«su tabulÄs. Pat ar miljoniem tabulu mums izdevÄs padarÄ«t vaļu neticami efektÄ«vu, izmantojot dažus gudrus keÅ”atmiÅas mehÄnismus, kÄ arÄ« atjaunojot Rust aizmugursistÄmu. JÅ«s nepamanÄ«sit nekÄdu meklÄÅ”anas aizkavi [sveiki, Google DS].
Vaļu demonstrÄÅ”ana, meklÄÅ”ana caur miljons tabulÄm.
AutomÄtisks metrikas aprÄÄ·ins [beta versijÄ]
Viena no manÄm vismazÄk iecienÄ«tÄkajÄm lietÄm kÄ datu zinÄtnieks ir viena un tÄ pati vaicÄjumu izpilde atkal un atkal, lai pÄrbaudÄ«tu izmantoto datu kvalitÄti. Whale atbalsta iespÄju definÄt metriku vienkÄrÅ”Ä SQL, kas tiks ieplÄnota darboties kopÄ ar jÅ«su metadatu skrÄpÄÅ”anas konveijeriem. DefinÄjiet metrikas bloku YAML formÄtÄ apakÅ”galda iekÅ”pusÄ, un Whale automÄtiski darbosies pÄc grafika un izpildÄ«s metrikÄ ligzdotus vaicÄjumus.
```metrics
metric-name:
sql: |
select count(*) from table
```
ApvienojumÄ ar Github Ŕī pieeja nozÄ«mÄ, ka valis var kalpot kÄ viegls centrÄlais patiesÄ«bas avots metrisko definÄ«cijÄm. Whale pat saglabÄ vÄrtÄ«bas kopÄ ar laikspiedolu direktorijÄ "~/". valis/metrikaā, ja vÄlaties veikt kÄdu grafiku vai padziļinÄtu izpÄti.
NÄkotne
PÄc sarunÄm ar mÅ«su vaļu pirmsizlaides versiju lietotÄjiem mÄs sapratÄm, ka cilvÄkiem ir nepiecieÅ”ama plaÅ”Äka funkcionalitÄte. KÄpÄc tabulu meklÄÅ”anas rÄ«ks? KÄpÄc ne metrikas meklÄÅ”anas rÄ«ks? KÄpÄc ne uzraudzÄ«t? KÄpÄc ne SQL vaicÄjumu rÄ«ks? Lai gan valis v1 sÄkotnÄji bija paredzÄts kÄ vienkÄrÅ”s CLI pavadoÅ”ais rÄ«ks Dataportal/Amundsen, tÄ jau ir kļuvusi par pilnÄ«bÄ funkcionÄjoÅ”u savrupu platformu, un mÄs ceram, ka tÄ kļūs par datu zinÄtnieka rÄ«ku komplekta neatÅemamu sastÄvdaļu.
Ja ir kaut kas, ko vÄlaties redzÄt attÄ«stÄ«bÄ, pievienojieties mÅ«su Slinka kopiena, atveriet Izdevumi plkst GitHubvai pat sazinÄties tieÅ”i LinkedIn. Mums jau ir vairÄkas lieliskas funkcijas ā Jinja veidnes, grÄmatzÄ«mes, meklÄÅ”anas filtri, Slack brÄ«dinÄjumi, Jupyter integrÄcija, pat CLI informÄcijas panelis metrikai ā taÄu mÄs priecÄsimies par jÅ«su ieguldÄ«jumu.
SecinÄjums
Whale izstrÄdÄ un atbalsta Dataframe ā jaunizveidots uzÅÄmums, kuram nesen bija prieks dibinÄt kopÄ ar citiem. Lai gan valis ir paredzÄts datu zinÄtniekiem, Dataframe ir paredzÄts datu zinÄtnes komandÄm. Tiem no jums, kuri vÄlas cieÅ”Äk sadarboties, jÅ«tieties brÄ«vi adrese, mÄs jÅ«s pievienosim gaidÄ«Å”anas sarakstam.
Un ar reklÄmas kodu HABR, var saÅemt papildus 10% uz banerÄ« norÄdÄ«tÄs atlaides.