I den hÀr artikeln berÀttas om ett enkelt och snabbt verktyg för att upptÀcka data, vars arbete du ser pÄ KDPV. Intressant nog Àr whale utformad pÄ ett sÀtt sÄ att den kan placeras pÄ en fjÀrr-Git-server. Mer information under meddelandet.
Hur dataupptÀcktsverktyget Airbnb förÀndrade mitt liv
I min karriĂ€r har jag haft turen att arbeta med nĂ„gra intressanta problem: jag studerade flödesmatematik under min utbildning pĂ„ MIT, arbetade med inkrementella modeller och med ett projekt med öppen kĂ€llkod pĂ„ Wayfair, samt implementerade nya riktade modeller pĂ„ hemsidan och förbĂ€ttringar av CUPED pĂ„ Airbnb. Men allt detta arbete var aldrig glamoröst â faktiskt spenderade jag ofta mest av min tid pĂ„ att söka, studera och validera data. Ăven om detta var ett konstant tillstĂ„nd pĂ„ jobbet, föresvĂ€vade det mig aldrig att det var ett problem förrĂ€n jag kom till Airbnb, dĂ€r det löstes med hjĂ€lp av ett dataupptĂ€cktsverktyg â .
Var kan jag hitta {{data}}? Dataportal.
Vad betyder den hÀr kolumnen? Dataportal.
Hur mÄr {{metric}} idag? Dataportal.
Vad Àr meningen med livet? I Dataportal, troligen.
Okej, nu har du fĂ„tt en bild. Att hitta data och förstĂ„ vad de betyder, hur de skapades och hur man anvĂ€nder dem â allt detta tar bara nĂ„gra minuter istĂ€llet för timmar. Jag skulle kunna spendera min tid pĂ„ att göra enkla slutsatser, eller nya algoritmer, (⊠eller svar pĂ„ slumpmĂ€ssiga frĂ„gor om data), istĂ€llet för att grĂ€va i anteckningar, skriva repetitiva SQL-frĂ„gor och nĂ€mna kollegor i Slack för att försöka Ă„terskapa den kontext som nĂ„gon annan redan hade.
Och vad Àr problemet?
Jag insÄg att de flesta av mina vÀnner inte hade tillgÄng till ett sÄdant verktyg. FÄ företag vill avsÀtta enorma resurser för att skapa och underhÄlla en plattform som Dataportal. Och Àven om det finns nÄgra lösningar med öppen kÀllkod, Àr de oftast designade för skalbarhet, vilket gör det svÄrt att konfigurera och underhÄlla utan en dedikerad DevOps-ingenjör. DÀrför bestÀmde jag mig för att skapa nÄgot nytt.
Whale: enkelt till dumhet dataupptÀcktsverktyg

Och ja, med enkelt till dumhet menar jag verkligen enkelt till dumhet. Whale har bara tvÄ komponenter:
- Ett Python-bibliotek som samlar metadata och formaterar den i MarkDown.
- KommandoradsgrÀnssnitt i Rust för att söka i denna data.
FrÄn perspektivet av den interna infrastrukturen för underhÄll finns det bara en mÀngd textfiler och ett uppdateringsprogram för text. Det Àr allt, sÄ placering pÄ en git-server som Github Àr enkelt. Ingen ny frÄgesprÄk som mÄste lÀras, ingen förvaltningsinfrastruktur, inga sÀkerhetskopior. Git Àr kÀnt av alla, sÄ synkronisering och samarbete ingÄr gratis. LÄt oss titta nÀrmare pÄ funktionaliteten. .
FullfjÀdrad grafiskt grÀnssnitt baserat pÄ git
Whale skapades för att simma i havet av fjĂ€rrgit-servrar. Den att konfigurera: definiera nĂ„gra anslutningar, kopiera Github Actions-skriptet (eller skriv det för vald CI/CD-plattform) â och du har genast ett webbverktyg för datadetektion. Du kan söka, visa, dokumentera och dela dina tabeller direkt pĂ„ Github.

Ett exempel pÄ en genererad med Github Actions dummy-tabell. FullstÀndig fungerande demo .
Blitzsnabb sökning frÄn CLI i ditt förrÄd
Whale lever och andas i kommandoraden och erbjuder funktionell, millisekundsnabb sökning i dina tabeller. Ăven med miljontals tabeller har vi lyckats göra whale otroligt prestandagivande, genom att anvĂ€nda nĂ„gra smarta cache-mekanismer samt omstrukturera backend pĂ„ Rust. Du kommer inte att mĂ€rka nĂ„gon sökfördröjning [hej, Google DS].

Demonstration av whale, sökning i en miljon tabeller.
Automatisk berÀkning av metric [i beta]
En av mina minst omtyckta saker som dataforskarna Àr att köra samma frÄgor om och om igen bara för att kontrollera kvaliteten pÄ de anvÀnda uppgifterna. Whale stöder möjligheten att definiera metrics i enkel SQL, som kommer att köras enligt schema tillsammans med dina metadata-röjningsrörledningar. Definiera ett block metrics i YAML-format inuti dummy-tabellen, sÄ kommer Whale att köras automatiskt enligt schema och köra inbÀddade queries i metrics.
```metrics
metric-name:
sql: |
select count(*) from table
``` 
I kombination med Github innebÀr denna metod att whale kan fungera som en lÀtt central kÀlla för sanning nÀr det gÀller definitioner av mÄtt. Whale sparar till och med vÀrden tillsammans med tidsstÀmpel i katalogen »~/whale/metrics«, om du vill skapa nÄgon form av diagram eller djupare forskning.
Framtiden
Genom att prata med anvĂ€ndarna av vĂ„ra förhandsversioner av whale insĂ„g vi att folk behöver ett bredare funktionalitet. Varför just ett verktyg för tabellsökning? Varför inte ett verktyg för att söka mĂ„tt? Varför inte övervakning? Varför inte ett verktyg för att utföra SQL-frĂ„gor? Ăven om whale v1 ursprungligen var avsett som ett enkelt CLI-kompanjonverktyg Dataportal/Amundsen, har det redan blivit en fullfjĂ€drad fristĂ„ende plattform och vi hoppas att det kommer att bli en oumbĂ€rlig del av verktygslĂ„dan för datavetare.
Om det finns nĂ„got du vill se under utvecklingen, gĂ„ med i vĂ„rt , öppna Issues pĂ„ , eller till och med kontakta oss direkt pĂ„ . Vi har redan ett antal intressanta funktioner â Jinja-mallar, bokmĂ€rken, sökfilter, Slack-notiser, integration med Jupyter, till och med ett CLI-grĂ€nssnitt för mĂ„tt â men vi vĂ€lkomnar gĂ€rna ditt bidrag.
Slutsats
Whale utvecklas och underhĂ„lls av Dataframe, en startup som jag nyligen hade nöjet att grunda tillsammans med andra. Medan whale Ă€r skapat för databehandlingsexperter, Ă€r Dataframe avsett för databehandlingsteam. För er som vill samarbeta nĂ€rmare â tveka inte att , vi lĂ€gger till er i vĂ€ntelistan.
Och med kampanjkoden HABR, kan du fÄ ytterligare 10% rabatt pÄ den rabatt som anges pÄ bannern.
Fler kurser
Rekommenderade artiklar
KĂ€lla: habr.com
