Hvordan søke i data raskt og enkelt ved hjelp av Whale

Hvordan søke i data raskt og enkelt ved hjelp av Whale
Dette materialet beskriver det enkleste og raskeste dataoppdagingsverktøyet, arbeidet du ser på KDPV. Interessant nok er whale designet for å være vert på en ekstern git-server. Detaljer under kuttet.

Hvordan Airbnbs dataoppdagingsverktøy forandret livet mitt

Jeg har vært så heldig å jobbe med noen morsomme problemer i karrieren min: Jeg studerte trådmatematikk mens jeg tok graden min ved MIT, jobbet med inkrementelle modeller og et åpen kildekode-prosjekt pylift på Wayfair, samt implementering av nye målrettingsmodeller for hjemmesider og CUPED-forbedringer hos Airbnb. Men alt dette arbeidet var aldri glamorøst – faktisk brukte jeg ofte mesteparten av tiden min på å søke, studere og verifisere data. Selv om dette var en konstant tilstand på jobben, gikk det ikke opp for meg at dette var et problem før jeg kom til Airbnb, hvor det ble løst ved hjelp av et dataoppdagingsverktøy - Dataportal.

Hvor finner jeg {{data}}? Dataportal.
Hva betyr denne kolonnen? Dataportal.
Hvordan går det med {{metrisk}} i dag? Dataportal.
Hva er en følelse av liv? I Dataportal, sannsynligvis.

Ok, du har bildet. Å finne data og forstå hva det betyr, hvordan det ble opprettet og hvordan du bruker alt tar minutter, ikke timer. Jeg kunne bruke tiden min på å gjøre enkle slutninger, eller nye algoritmer, (... eller svare på tilfeldige spørsmål om dataene) i stedet for å rote gjennom notater, skrive repeterende SQL-spørringer og nevne kolleger på Slack for å prøve å gjenskape kontekst, som noen andre allerede hadde.

Hva er problemet?

Jeg innså at de fleste av vennene mine ikke hadde tilgang til et slikt verktøy. Få selskaper ønsker å bruke store ressurser på å lage og vedlikeholde et plattformverktøy som Dataportal. Og selv om det er flere åpen kildekode-løsninger tilgjengelig, er de vanligvis designet for å skalere, noe som gjør oppsett og vedlikehold vanskelig uten en dedikert DevOps-ingeniør. Så jeg bestemte meg for å lage noe nytt.

Whale: et dumt enkelt dataoppdagelsesverktøy

Hvordan søke i data raskt og enkelt ved hjelp av Whale

Og ja, med enkel til dumhet mener jeg enkel til dumhet. hval har bare to komponenter:

  1. Et Python-bibliotek som samler metadata og formaterer dem i MarkDown.
  2. Et Rust-kommandolinjegrensesnitt for å søke i disse dataene.

Sett fra den interne infrastrukturen for vedlikehold er det kun mange tekstfiler og et program som oppdaterer teksten. Det er det, så hosting på en git-server som Github er trivielt. Ingen nytt spørrespråk å lære, ingen administrasjonsinfrastruktur, ingen sikkerhetskopier. Git er kjent for alle, så synkronisering og samarbeid er gratis. La oss se nærmere på funksjonaliteten Hval v1.0.

Git-basert GUI med full funksjon

Whale er designet for å seile havet til en ekstern git-server. Han meget lett kan tilpasses: definer noen tilkoblinger, kopier Github Actions-skriptet (eller skriv et for CI/CD-plattformen du ønsker), og du vil ha et nettbasert dataoppdagingsverktøy på kort tid. Du vil kunne søke, vise, dokumentere og dele regnearkene dine direkte på Github.

Hvordan søke i data raskt og enkelt ved hjelp av Whale
Et eksempel på en stubbetabell generert ved hjelp av Github Actions. Full fungerende demo se i denne delen.

Lynrask CLI-søk i depotet ditt

Whale lever og puster kommandolinjen, og gir kraftige millisekundersøk på tvers av bordene dine. Selv med millioner av tabeller, klarte vi å gjøre hval utrolig ytelse ved å bruke noen smarte caching-mekanismer, i tillegg til å gjenoppbygge backend i Rust. Du vil ikke merke noen søkeforsinkelse [hei, Google DS].

Hvordan søke i data raskt og enkelt ved hjelp av Whale
Demonstrasjon av hval, søk gjennom en million tabeller.

Automatisk beregning av beregninger [i beta]

En av mine minst favoritt ting som dataforsker er å kjøre de samme spørringene om og om igjen bare for å sjekke kvaliteten på dataene som brukes. Whale støtter muligheten til å definere beregninger i enkel SQL som skal kjøres sammen med rørledningene for skraping av metadata. Definer en metrikkblokk i YAML-format inne i en stubbetabell, og Whale vil automatisk kjøre på en tidsplan og kjøre spørringer nestet i metrikker.

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

Hvordan søke i data raskt og enkelt ved hjelp av Whale
Kombinert med Github betyr denne tilnærmingen at hval kan tjene som en enkel sentral kilde til sannhet for metriske definisjoner. Whale lagrer til og med verdiene sammen med et tidsstempel i "~/"-katalogen. whale/metrics" hvis du ønsker å gjøre en form for graf eller dypere forskning.

Fremtiden

Etter å ha snakket med brukere av våre forhåndsversjoner av hval, innså vi at folk trengte bredere funksjonalitet. Hvorfor velge et verktøy for tabellsøk? Hvorfor ikke et søkeverktøy for beregninger? Hvorfor ikke overvåke? Hvorfor ikke et SQL-spørringsverktøy? Selv om whale v1 opprinnelig var ment å være et enkelt CLI-følgeverktøy Dataportal/Amundsen, har den allerede vokst til en fullt funksjonell frittstående plattform, og vi håper at den vil bli en integrert del av dataforskerens verktøysett.

Hvis det er noe du vil se i utviklingen, bli med vår Slakt fellesskap, åpne Utgaver kl Github, eller til og med ta kontakt direkte Linkedin. Vi har allerede en rekke kule funksjoner – Jinja-maler, bokmerker, søkefiltre, Slack-varsler, Jupyter-integrasjon, til og med et CLI-dashbord for beregninger – men vi vil gjerne ha innspill fra deg.

Konklusjon

Whale er utviklet og støttet av Dataframe, en oppstart jeg nylig hadde gleden av å grunnlegge sammen med andre. Mens hval er designet for dataforskere, er Dataframe designet for datavitenskapsteam. For de av dere som ønsker å samarbeide tettere, gjerne adresse, legger vi deg til på ventelisten.

Hvordan søke i data raskt og enkelt ved hjelp av Whale
Og med kampanjekode HORNBEAM, kan du få ytterligere 10 % til rabatten som er angitt på banneret.

Flere kurs

Utvalgte artikler

Kilde: www.habr.com