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
