Sådan søger du nemt og hurtigt efter data med Whale

Sådan søger du nemt og hurtigt efter data med Whale
Denne artikel handler om et simpelt og hurtigt værktøj til datagennemgang, hvis funktion du kan se på KDPM. Det er interessant, at whale er designet til at være placeret på en ekstern git-server. Detaljer nedenfor.

Hvordan datagennemgangsværktøjet Airbnb ændrede mit liv

I min karriere har jeg haft fornøjelsen af at arbejde med nogle sjove udfordringer: jeg studerede strømningsteori, mens jeg fik min grad fra MIT, arbejdede med inkrementelle modeller og på et open source-projekt pylift hos Wayfair, samt implementerede nye målretningsmodeller på hjemmesiden og forbedringer af CUPED i Airbnb. Men alt dette arbejde har aldrig været glamorøst — faktisk har jeg ofte brugt det meste af min tid på at finde, udforske og verificere data. Selvom det var en konstant tilstand på arbejdet, kom jeg aldrig til at tænke på, at det var et problem, før jeg kom til Airbnb, hvor det blev løst ved hjælp af et datagennemgangsværktøj — Dataportal.

Hvor kan jeg finde {{data}}? Dataportal.
Hvad betyder denne kolonne? Dataportal.
Hvordan klarede {{metric}} sig i dag? Dataportal.
Hvad er meningen med livet? I Dataportal, sandsynligvis.

Okay, du har malet et billede. At finde data og forstå, hvad de betyder, hvordan de blev skabt, og hvordan de skal bruges — alt dette tager kun et par minutter i stedet for timer. Jeg kunne bruge min tid på at lave enkle konklusioner eller udvikle nye algoritmer, (… eller finde svar på tilfældige spørgsmål om data), i stedet for at grave i noter, skrive gentagne SQL-forespørgsler og nævne kolleger i Slack for at forsøge at genskabe konteksten, som allerede var kendt af nogen anden.

Men hvad er problemet?

Jeg indså, at de fleste af mine venner ikke havde adgang til et sådant værktøj. Mange virksomheder ønsker ikke at afsætte store ressourcer til at oprette og vedligeholde et værktøjspalatform som Dataportal. Selvom der findes nogle open source-løsninger, er de stort set designet til skalerbarhed, hvilket gør det vanskeligt at tilpasse og vedligeholde uden en dedikeret DevOps-ingénør. Derfor besluttede jeg mig for at skabe noget nyt.

Whale: simpelt til det dumme datagennemgangsværktøj

Sådan søger du nemt og hurtigt efter data med Whale

Og ja, når jeg siger simpelt til det dumme, mener jeg simpelt til det dumme. Whale har kun to komponenter:

  1. Et Python-bibliotek, der indsamler metadata og formaterer dem til MarkDown.
  2. Kommandolinjegrænsefladen i Rust til at søge i disse data.

Fra et internt infrastrukturperspektiv er der kun en mængde tekstfiler og et opdaterende tekstprogram til vedligeholdelse. Det er det hele, så placering på en git-server som Github er trivielt. Ingen nyt spørgesprog at lære, ingen administrationsinfrastruktur, ingen sikkerhedskopier. Git er kendt af alle, så synkronisering og samarbejde følger med gratis. Lad os se nærmere på funktionaliteten. Whale v1.0.

Funktionel grafisk grænseflade baseret på git.

Whale er skabt til at svømme i havet af en fjern git-server. Den er meget nem at konfigurere: definér nogle forbindelser, kopér scriptet fra Github Actions (eller skriv det til den valgte CI/CD-platform) — og du vil straks få et webværktøj til datadetektion. Du kan søge, gennemse, dokumentere og dele dine tabeller direkte på Github.

Sådan søger du nemt og hurtigt efter data med Whale
Eksempel på en genereret dummy-tabel ved hjælp af Github Actions. Den fulde fungerende demonstration findes i denne sektion..

Lynhurtig søgning fra CLI i dit lager.

Whale lever og ånder i kommandolinjen og giver funktionel, millisekund søgning i dine tabeller. Selvom der er millioner af tabeller, har vi formået at gøre Whale utrolig effektiv ved at bruge nogle smarte caching-mekanismer samt ombygge backend'en i Rust. Du vil ikke bemærke nogen søgeforsinkelse [hej, Google DS].

Sådan søger du nemt og hurtigt efter data med Whale
Demonstration af Whale, søgning i en million tabeller.

Automatisk beregning af metrics [i beta].

En af mine mindst yndlings ting som dataforsker er at køre de samme forespørgsler igen og igen bare for at kontrollere kvaliteten af de brugte data. Whale understøtter muligheden for at definere metrics i simpel SQL, der vil blive udført efter en tidsplan sammen med dine pipeline til oprydning af metadata. Definér blokken metrics i YAML-format inden for dummy-tabellen, og Whale vil automatisk blive udført efter en tidsplan og køre forespørgslerne i metrics.

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

Sådan søger du nemt og hurtigt efter data med Whale
Sammen med Github betyder denne tilgang, at whale kan fungere som en let central kilde til sandhed for definitioner af metrics. Whale gemmer endda værdier sammen med tidsstemplet i kataloget »~/.whale/metrics«, hvis du ønsker at lave nogle grafer eller en dybere undersøgelse.

Fremtid

Efter at have talt med brugere af vores præ-released versioner af whale, indså vi, at folk havde brug for en bredere funktionalitet. Hvorfor præcist værktøjet til tabel-søgning? Hvorfor ikke et værktøj til metrics-søgning? Hvorfor ikke overvågning? Hvorfor ikke et værktøj til SQL-forespørgsler? Selvom whale v1 oprindeligt var tænkt som et simpelt CLI-partner værktøj. Dataportal/Amundsen, er det allerede blevet en fuldt funktionel, autonom platform, og vi håber, det vil blive en uundgåelig del af data scientistens værktøjer.

Hvis der er noget, du gerne vil se i udviklingsprocessen, så slut dig til vores Slack-fællesskab, åbn issues på Github, eller kontakt endda os direkte på LinkedIn. Vi har allerede et helt sæt interessante funktioner — Jinja-skabeloner, bogmærker, søgefiltre, Slack-beskeder, integration med Jupyter, endda et CLI-panel til metrics — men vi vil elske dit bidrag.

Konklusion

Whale udvikles og støttes af Dataframe, et startup, som jeg for nylig har haft fornøjelsen af at grundlægge sammen med nogle andre. Mens whale er skabt til datahåndteringsspecialister, er Dataframe designet til datahåndteringsteam. For dem af jer, der ønsker at samarbejde tættere — tøv ikke med at kontakte, vi vil tilføje dig til ventelisten.

Sådan søger du nemt og hurtigt efter data med Whale
Og med rabatkoden HABR, kan du få yderligere 10% rabat på den angivne rabat i banneret.

Flere kurser

Anbefalede artikler

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster