Në këtë material flitet për një mjet të thjeshtë dhe të shpejtë të zbulesës së të dhënave, të cilin mund ta shihni në KDPV. E çuditshme është se whale është krijuar për t'u vendosur në një server git të largët. Detajet më poshtë.
Si mjeti i zbulesës së të dhënave Airbnb e ndryshoi jetën time
Në karrierën time kam pasur fati të punoj mbi disa probleme interesante: studova matematikën e rrjeteve gjatë marrjes së diplomës në MIT, punova mbi modelet inkrementale dhe në një projekt me kod të hapur në Wayfair, si dhe implementova modele të reja targetimi në faqen kryesore dhe përmirësime CUPED në Airbnb. Por gjithë kjo punë kurrë nuk kishte qenë glamuroze — në fakt, shpesh kam kaluar shumicën e kohës sime duke kërkuar, studiuar dhe verifikuar të dhëna. Megjithëse ky ishte një gjendje e vazhdueshme në punë, nuk më kishte shkuar në mendje që ishte një problem, derisa hyra në Airbnb, ku u zgjidh me anë të një mjeti zbulesës të dhënash — .
Ku mund të gjej {{data}}? Dataportal.
Çfarë do të thotë kjo kolonë? Dataportal.
Si është sot {{metric}}? Dataportal.
Cili është kuptimi i jetës? Në Dataportal, ndoshta.
Mirë, ju keni paraqitur një pamje. Të gjesh të dhëna dhe të kuptosh se çfarë do të thonin ato, si janë krijuar dhe si t'i përdorësh — gjithçka kërkon disa minuta, jo orë. Unë mund të humbas kohën time duke bërë përfundime të thjeshta, ose për algoritme të reja, (…) ose përgjigje për pyetje të rastit mbi të dhënat, dhe jo duke gërmuar në shënime, duke shkruar kërkesa SQL përsëritëse dhe duke e përmendur kolegët në Slack për të provuar të rimerrja kontekstin që tashmë ishte te dikush tjetër.
Çfarë problemi ka?
Kuptova që shumica e miqve të mi nuk e kishin aksesin në një mjet të tillë. Pak kompani duan të dedikojnë burime të mëdha për të krijuar dhe mbajtur një platformë si Dataportal. Edhe pse ka disa zgjidhje me kod të hapur, ato zakonisht janë zhvilluar për shkallëzim, çka e bën të vështirë konfigurimin dhe mbajtjen e tyre pa një inxhinier DevOps të angazhuar. Prandaj vendosa të krijoj diçka të re.
Whale: një mjet për zbulimin e të dhënave i thjeshtë deri në budallallëk

Dhe po, kur them i thjeshtë deri në budallallëk, nënkuptoj të thjeshtë deri në budallallëk. Whale ka vetëm dy komponente:
- Biblioteka Python që mbledh metadatat dhe i formaton ato në MarkDown.
- Ndërfaqja e komandës në Rust për kërkim në këto të dhëna.
Nga pikëpamja e infrastrukturës së brendshme për mbështetje, ka vetëm një sërë dosjesh tekstuale dhe një program që përditëson tekstin. Kjo është e gjitha, prandaj vendosja në një server git, si Github, është triviale. Asnjë gjuhë e re kërkese që do të duhej të mësohej, asnjë infrastrukturë menaxhimi, asnjë kopje rezervë. Git është i njohur për të gjithë, kështu që sinkronizimi dhe bashkëpunimi vijnë falas. Le të shqyrtojmë më thellë funksionalitetin .
Ndërfaqe grafike plotësisht funksionale e bazuar në git
Whale është krijuar për t'u lundruar në oqeanin e serverit të largët git. Ai i konfigurohet: përcaktoni disa lidhje, kopjoni skenarin e Github Actions (ose shkruani një për platformën tuaj të zgjedhur CI/CD) — dhe menjëherë do të keni një mjet web për zbuluar të dhëna. Do të jeni në gjendje të kërkoni, shikoni, dokumentoni dhe ndani tabelat tuaja direkt në Github.

Shembulli i një tabele-zgjedhje të gjeneruar me Github Actions. Një demonstrim tërheqës të plotë .
Kërkim i shpejtë nga CLI në arkivën tuaj
Whale jeton dhe frymon në komandën e linjës, duke ofruar një kërkim funksional, në milisekonda në tabelat tuaja. Edhe me miliona tabela, arritëm ta bëjmë whale jashtëzakonisht efikas duke përdorur disa mekanizma të zgjuar për кешim, si dhe duke ridizajnuar backend-in në Rust. Nuk do ta ndjeni asnjë vonesë në kërkimin [përshëndetje, Google DS].

Demonstrimi i whale, kërkim në një milion tabelash.
Llogaritja automatike e metrikave [në beta]
Një nga gjërat më pak të preferuara si një kërkues të dhënash — ekzekutimi i të njëjtave pyetje përsëri e përsëri vetëm për të verifikuar cilësinë e të dhënave të përdorura. Whale mbështet mundësinë e përcaktimit të metrikave në SQL të thjeshtë, të cilat do të ekzekutohen sipas një orari së bashku me konvejere të pastrimit të metadatat. Përcaktoni bllokun e metrikave në formatin YAML brenda tabelës së plumbit, dhe Whale do të ekzekutohet automatikisht sipas një orari dhe do të ekzekutojë pyetjet e përfshira në metrikat.
```metrics
metric-name:
sql: |
select count(*) from table
``` 
Në bashkëpunim me Github, ky qasje do të thotë se whale mund të shërbejë si një burim të lehtë të vërtetës për definimin e metrikeve. Whale madje ruan vlerat bashkë me një etiketë kohore në katalogun »~/. whale/metrics», nëse dëshironi të bëni ndonjë grafik ose një hulumtim më të thellë.
E ardhmja
Pas bisedave me përdoruesit e versioneve tona të para të whale, kuptuam se njerëzit kishin nevojë për një funksionalitet më të gjerë. Pse pikërisht një instrument kërkimi tabelash? Pse jo një instrument kërkimi metrike? Pse jo një vegël monitorimi? Pse jo një instrument për ekzekutimin e kërkesave SQL? Ndërsa whale v1 fillimisht ishte menduar si një vegël e thjeshtë shoqëruese CLI, Dataportal/Amundsen, tashmë është shndërruar në një platformë autonome dhe funksionale, dhe shpresojmë se do të bëhet një pjesë thelbësore e mjetëve të një shkencëtari të dhënash.
Nëse ka diçka që dëshironi të shihni në procesin e zhvillimit, bashkohuni me , hapni Issues në , ose madje kontaktoni drejtpërdrejt . Ne kemi tashmë një sërë funksionesh interesante — shabllone Jinja, shënime, filtra kërkimi, njoftime Slack, integrim me Jupyter, madje një panel CLI për metrikat — por do të ishim të lumtur për kontributin tuaj.
Përfundimi
Whale është zhvilluar dhe mbahet nga Dataframe, një startup që unë së fundmi kam pasur kënaqësinë ta themeloj së bashku me të tjerë. Ndërsa whale është krijuar për specialistët në përpunimin e të dhënave, Dataframe është për ekipet e përpunimit të të dhënave. Për ata prej jush që duan të bashkëpunojnë më ngushtë — mos hezitoni , ne do t'ju shtojmë në listën e pritjes.
Dhe me kodin promocional HABR, mund të merrni 10% shtesë mbi zbritjen e treguar në banner.
E tjera kurse
Artikuj të rekomanduar
Burimi: habr.com
