Hur man snabbt och enkelt söker data med Whale

Hur man snabbt och enkelt söker data med Whale
Den här artikeln talar om det enklaste och snabbaste verktyget för dataupptäckt, vars arbete du ser på KDPV. Intressant nog är whale designad för att vara värd på en fjärrstyrd git-server. Detaljer under snittet.

Hur Airbnbs verktyg för dataupptäckning förändrade mitt liv

Under min karriär har jag haft nöjet att arbeta med några roliga problem: jag studerade flödesmate medan jag tog min examen vid MIT, arbetade med inkrementella modeller och med ett projekt med öppen källkod pylift på Wayfair, och implementerade nya inriktningsmodeller på hemsidan och förbättringar av CUPED på Airbnb. Men allt detta arbete var aldrig glamoröst – faktiskt tillbringade jag ofta det mesta av min tid med att söka, undersöka och validera data. Även om detta var ett konstant tillstånd på jobbet, föll det mig inte in att detta var ett problem förrän jag kom till Airbnb där det löstes med ett dataupptäcktsverktyg − dataportal.

Var kan jag hitta {{data}}? dataportal.
Vad betyder den här kolumnen? dataportal.
Hur mår {{metrisk}} idag? dataportal.
Vad är en livskänsla? I dataportal, förmodligen.

Okej, du har presenterat bilden. Att hitta data och förstå vad det betyder, hur det skapades och hur man använder det tar bara några minuter, inte timmar. Jag skulle kunna ägna min tid åt att dra enkla slutsatser, eller nya algoritmer, (... eller svara på slumpmässiga frågor om data), snarare än att gräva igenom anteckningar, skriva upprepade SQL-frågor och nämna kollegor på Slack för att försöka återskapa sammanhang. som någon annan redan hade.

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 är villiga att ägna enorma resurser åt att bygga och underhålla ett plattformsverktyg som Dataportal. Och även om det finns några lösningar med öppen källkod, tenderar de att vara utformade för att skala, vilket gör det svårt att installera och underhålla utan en dedikerad DevOps-ingenjör. Så jag bestämde mig för att skapa något nytt.

Whale: Ett dumt enkelt verktyg för dataupptäckt

Hur man snabbt och enkelt söker data med Whale

Och ja, med dumt enkelt menar jag dumt enkelt. Valen har bara två komponenter:

  1. Ett Python-bibliotek som samlar in metadata och formaterar det i MarkDown.
  2. Rust kommandoradsgränssnitt för att söka igenom dessa data.

Ur den interna infrastrukturen för underhållssynpunkt finns det bara en massa textfiler och ett program som uppdaterar texten. Det är det, så att hosta på en git-server som Github är trivialt. Inget nytt frågespråk att lära sig, ingen hanteringsinfrastruktur, inga säkerhetskopior. Alla känner till Git, så synkronisering och samarbete är gratis. Låt oss ta en närmare titt på funktionaliteten Whale v1.0.

Fullständigt git-baserat GUI

Whale är designad för att simma i havet på en avlägsen git-server. han väldigt lätt konfigurerbar: definiera några anslutningar, kopiera Github Actions-skriptet (eller skriv ett för din valda CI/CD-plattform) så får du ett webbverktyg för dataupptäckt direkt. Du kommer att kunna söka, visa, dokumentera och dela dina kalkylblad direkt på Github.

Hur man snabbt och enkelt söker data med Whale
Ett exempel på en stubbtabell genererad med Github Actions. Full fungerande demo se i detta avsnitt.

Blixtsnabb CLI-sökning efter ditt förråd

Whale lever och andas på kommandoraden, vilket ger kraftfulla, millisekunders uppslag över dina bord. Även med miljontals tabeller lyckades vi göra valen otroligt presterande genom att använda några smarta cachningsmekanismer och även genom att bygga om backend i Rust. Du kommer inte att märka någon sökfördröjning [hej Google DS].

Hur man snabbt och enkelt söker data med Whale
Valdemo, miljontabellssökning.

Automatisk beräkning av mätvärden [i beta]

En av mina minst favorit saker som dataforskare är att köra samma frågor om och om igen bara för att kontrollera kvaliteten på den data som används. Whale stöder möjligheten att definiera mätvärden i vanlig SQL som kommer att köras tillsammans med dina pipelines för rensning av metadata. Definiera ett YAML-måttblock i stubbtabellen, så körs Whale automatiskt enligt ett schema och kör frågor kapslade i mätvärden.

```metrics
metric-name:
  sql: |
    select count(*) from table
```

Hur man snabbt och enkelt söker data med Whale
I kombination med Github betyder detta tillvägagångssätt val kan fungera som en enkel central källa till sanning för metriska definitioner. Whale sparar till och med värdena tillsammans med tidsstämpeln i "~/. whale/metrics" om du vill göra några kartläggningar eller mer djupgående forskning.

Framtiden

Efter att ha pratat med användare av våra pre-release-versioner av whale insåg vi att människor behövde mer funktionalitet. Varför ett verktyg för tabellsökning? Varför inte ett sökverktyg för statistik? Varför inte övervaka? Varför inte ett verktyg för att köra SQL-frågor? Medan whale v1 ursprungligen tänktes som ett enkelt CLI-kompanjonsverktyg Dataportal/Amundsen, den har redan utvecklats till en fullfjädrad fristående plattform, och vi hoppas att den kommer att bli en integrerad del av Data Scientists verktygslåda.

Om det är något du vill se i utvecklingsprocessen, gå med i vår till Slack-gemenskapen, öppna nummer kl Githubeller till och med kontakta direkt LinkedIn. Vi har redan ett antal coola funktioner - Jinja-mallar, bokmärken, sökfilter, Slack-varningar, Jupyter-integration, till och med en CLI-instrumentpanel för mätvärden - men vi skulle älska din input.

Slutsats

Whale är utvecklad och underhållen av Dataframe, en startup som jag nyligen haft nöjet att vara med och grunda med andra människor. Medan val är gjord för dataforskare, är Dataframe gjord för dataforskare. För er som vill samarbeta närmare, gärna adressvi lägger till dig på väntelistan.

Hur man snabbt och enkelt söker data med Whale
Och med kampanjkod HABR, kan du få ytterligare 10 % till rabatten som anges på bannern.

Fler kurser

Utvalda artiklar

Källa: will.com