Kaip greitai ir lengvai ieškoti duomenų naudojant Whale

Kaip greitai ir lengvai ieškoti duomenų naudojant Whale
Šiame straipsnyje kalbama apie paprasčiausią ir greičiausią duomenų aptikimo įrankį, kurio darbą matote KDPV. Įdomu tai, kad banginis sukurtas priglobti nuotoliniame „git“ serveryje. Detalės po pjūviu.

Kaip Airbnb duomenų paieškos įrankis pakeitė mano gyvenimą

Per savo karjerą man pasisekė dirbti su įdomiomis problemomis: studijavau srauto matematiką studijuodamas MIT, dirbau su laipsniškais modeliais ir atvirojo kodo projektu. pyliftas „Wayfair“ ir įdiegė naujus pagrindinio puslapio taikymo modelius ir „Airbnb“ CUPED patobulinimus. Tačiau visas šis darbas niekada nebuvo žavingas – iš tikrųjų dažnai didžiąją laiko dalį praleisdavau ieškodamas, tyrinėdamas ir tikrindamas duomenis. Nors darbe tai buvo nuolatinė būsena, man neatėjo į galvą, kad tai buvo problema, kol nepatekau į Airbnb, kur ji buvo išspręsta naudojant duomenų aptikimo įrankį. duomenų portalas.

Kur galiu rasti {{duomenys}}? duomenų portalas.
Ką reiškia šis stulpelis? duomenų portalas.
Kaip {{metric}} sekasi šiandien? duomenų portalas.
Kas yra gyvenimo jausmas? IN duomenų portalas, tikriausiai.

Gerai, jūs pateikėte nuotrauką. Duomenų paieška ir supratimas, ką tai reiškia, kaip jie buvo sukurti ir kaip visa tai panaudoti, užtrunka vos kelias minutes, o ne valandas. Galėčiau praleisti laiką darydamas paprastas išvadas ar naujus algoritmus (... arba atsakydamas į atsitiktinius klausimus apie duomenis), o ne naršydamas pastabose, rašydamas pasikartojančias SQL užklausas ir minėdamas kolegas „Slack“, bandydamas atkurti kontekstą. kurį kažkas jau turėjo. .

Kokia problema?

Supratau, kad dauguma mano draugų neturėjo prieigos prie tokio įrankio. Nedaug įmonių nori skirti didžiulius išteklius platformos įrankio, pvz., Dataportal, kūrimui ir priežiūrai. Ir nors yra keletas atvirojo kodo sprendimų, jie paprastai yra sukurti atsižvelgiant į mastelį, todėl sunku nustatyti ir prižiūrėti be specialaus „DevOps“ inžinieriaus. Taigi nusprendžiau sukurti kažką naujo.

Banginis: kvailai paprastas duomenų aptikimo įrankis

Kaip greitai ir lengvai ieškoti duomenų naudojant Whale

Ir taip, sakydamas kvailai paprasta turiu galvoje kvailai paprastą. Banginį sudaro tik du komponentai:

  1. Python biblioteka, kuri renka metaduomenis ir formatuoja juos MarkDown.
  2. Rust komandų eilutės sąsaja, skirta šių duomenų paieškai.

Vidinės priežiūros infrastruktūros požiūriu yra tik daug tekstinių failų ir tekstą atnaujinanti programa. Tai viskas, todėl priegloba tokiame „git“ serveryje kaip „Github“ yra nereikšminga. Nereikia mokytis naujos užklausos kalbos, jokios valdymo infrastruktūros, jokių atsarginių kopijų. Visi žino Git, todėl sinchronizavimas ir bendradarbiavimas yra nemokami. Pažvelkime į funkcionalumą atidžiau Banginis v1.0.

Visomis funkcijomis pagrįsta GUI

Banginis sukurtas plaukti nuotolinio „git“ serverio vandenyne. Jis labai lengva konfigūruojama: apibrėžkite kai kuriuos ryšius, nukopijuokite „Github Actions“ scenarijų (arba parašykite vieną pasirinktai CI / CD platformai) ir iškart turėsite duomenų aptikimo žiniatinklio įrankį. Galėsite ieškoti, peržiūrėti, dokumentuoti ir bendrinti savo skaičiuokles tiesiogiai „Github“.

Kaip greitai ir lengvai ieškoti duomenų naudojant Whale
Stublentės, sugeneruotos naudojant Github Actions, pavyzdys. Pilna veikianti demo žiūrėkite šiame skyriuje.

Žaibiška CLI paieška jūsų saugykloje

Banginis gyvena ir kvėpuoja komandų eilutėje, suteikdamas galingą milisekundžių peržiūrą jūsų lentelėse. Net ir turėdami milijonus lentelių, mums pavyko padaryti banginį neįtikėtinai našų, naudojant keletą protingų talpyklos mechanizmų ir taip pat atstatant Rust backend. Jūs nepastebėsite jokios paieškos delsos [sveiki, Google DS].

Kaip greitai ir lengvai ieškoti duomenų naudojant Whale
Banginio demonstracija, milijonų lentelių paieška.

Automatinis metrikos skaičiavimas [beta versija]

Vienas iš mano, kaip duomenų mokslininko, nemėgstamiausių dalykų yra pakartotinai vykdyti tas pačias užklausas, kad patikrinčiau naudojamų duomenų kokybę. Whale palaiko galimybę apibrėžti metriką paprastu SQL, kuri bus suplanuota vykdyti kartu su metaduomenų valymo vamzdynais. Apibrėžkite YAML metrikos bloką stuburo lentelėje, o Whale automatiškai veiks pagal tvarkaraštį ir vykdys metrikose įdėtas užklausas.

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

Kaip greitai ir lengvai ieškoti duomenų naudojant Whale
Kartu su „Github“ šis metodas reiškia, kad banginis gali būti paprastas pagrindinis tiesos šaltinis metriniams apibrėžimams. Banginis netgi išsaugo reikšmes kartu su laiko žyma „~/. banginis / metrika“, jei norite sudaryti diagramas ar atlikti išsamesnius tyrimus.

Ateitis

Pakalbėję su mūsų išankstinių banginių versijų naudotojais supratome, kad žmonėms reikia daugiau funkcijų. Kodėl verta ieškoti lentelės? Kodėl gi ne metrikos paieškos įrankis? Kodėl gi ne stebėti? Kodėl gi ne SQL užklausos vykdymo įrankis? Nors banginis v1 iš pradžių buvo sumanytas kaip paprastas CLI pagalbinis įrankis Dataportal/Amundsen, ji jau išsivystė į visas funkcijas turinčią atskirą platformą ir tikimės, kad ji taps neatsiejama Data Scientist įrankių rinkinio dalimi.

Jei ką nors norite pamatyti kūrimo procese, prisijunkite prie mūsų Slack bendruomenei, atidarykite „Problemos“ adresu GitHubar net susisiekti tiesiogiai "LinkedIn. Jau turime daugybę puikių funkcijų – „Jinja“ šablonus, žymes, paieškos filtrus, „Slack“ įspėjimus, „Jupyter“ integraciją, net CLI prietaisų skydelį, skirtą metrikai, tačiau norėtume jūsų indėlio.

išvada

„Whale“ kuria ir prižiūri „Dataframe“ – startuolis, kurį neseniai turėjau malonumo kartu su kitais žmonėmis įkurti. Nors banginis yra skirtas duomenų mokslininkams, Dataframe yra skirtas duomenų mokslininkams. Tiems iš jūsų, kurie nori glaudžiau bendradarbiauti, nedvejodami adresuįtrauksime jus į laukiančiųjų sąrašą.

Kaip greitai ir lengvai ieškoti duomenų naudojant Whale
Ir pagal reklamos kodą RAGAŠAS, prie reklamjuostės nurodytos nuolaidos galite gauti papildomus 10%.

Daugiau kursų

Teminiai straipsniai

Šaltinis: www.habr.com