Ez a cikk egy egyszerű és gyors adatfelismerő eszközről szól, amelynek működését a KDPV-n láthatja. Érdekes, hogy a whale úgy van megtervezve, hogy egy távoli git szerveren helyezkedjen el. Részletek a folytatásban.
Hogyan változtatta meg az Airbnb adatfelismerő eszköze az életem
Karrierem során szerencsém volt néhány érdekes problémán dolgozni: tanulmányoztam a folyamatok matematikáját az MIT-n szerzett diplomám alatt, foglalkoztam incrementális modellekkel, és részt vettem egy nyílt forráskódú projektben. a Wayfairnál, emellett új célzási modellek bevezetésén dolgoztam a kezdőlapra, és javítottam a CUPED-et az Airbnb-nél. De ez a munka sosem volt fényűző — valójában gyakran az időm nagy részét az adatok keresésével, tanulmányozásával és ellenőrzésével töltöttem. Bár ez állandó állapot volt a munkámban, eszembe sem jutott, hogy ez probléma lenne, amíg az Airbnb-be nem kerültem, ahol ezt egy adatfelismerő eszközzel oldották meg — .
Hol találhatom a {{data}}-t? Dataportal.
Mit jelent ez az oszlop? Dataportal.
Hogy van a {{metric}} ma? Dataportal.
Mi az élet értelme? A Dataportal, valószínűleg.
Rendben, most már láthatja a képet. Az adatok megtalálása és megértése, hogy mit jelentenek, hogyan készültek és hogyan használhatók — mindez csak néhány percet vesz igénybe, nem órát. Az időmet tölthettem volna egyszerű következtetések levonásával, vagy új algoritmusokkal, (… vagy véletlenszerű adatokról szóló kérdésekre adott válaszokkal), ahelyett, hogy jegyzetek között turkálnék, ismétlődő SQL lekérdezéseket írnák, és kollégákat említenék a Slack-en, hogy megpróbáljam újraalkotni a már meglévő kontextust, ami másoknak már megvolt.
Mi a probléma?
Rájöttem, hogy a legtöbb barátomnak nem volt hozzáférése egy ilyen eszközhöz. Csak néhány vállalat szeretne hatalmas erőforrásokat fordítani egy olyan eszköz-platform létrehozására és fenntartására, mint a Dataportal. És bár létezik néhány nyílt forráskódú megoldás, ezek általában a skálázhatóságra lettek tervezve, ami megnehezíti a testreszabást és karbantartást anélkül, hogy lenne egy dedikált DevOps mérnök a folyamatban. Ezért úgy döntöttem, hogy valami újat kell létrehozni.
Whale: annyira egyszerű, hogy már bolondos adatfelismerő eszköz

És igen, amikor annyira egyszerűt mondok, akkor tényleg annyira egyszerű. A whale-nek csak két összetevője van:
- Egy Python könyvtár, amely metaadatokat gyűjt és formázza azokat MarkDown-ba.
- Rust parancssori felület a adatok kereséséhez.
A belső infrastruktúrával kapcsolatban csupán számos szövegfájl és frissítő szövegprogram létezik. Ennyi az egész, így a git-szerveren, mint a Github, való elhelyezés trivialis. Nincs új lekérdező nyelv, amit meg kellene tanulni, nincs menedzsment infrastruktúra, nincs biztonsági másolat. A Git mindenki által ismert, így a szinkronizálás és az együttműködés ingyenesen jár. Nézzük meg részletesebben a funkciókat. .
Teljes funkcionalitású grafikus felület git alapján
A Whale azért készült, hogy a git távoli szerver óceánjában ússzon. Ő konfigurálható: határozzon meg néhány kapcsolatot, másolja a Github Actions scriptet (vagy írja meg a választott CI/CD platformhoz) – és azonnal megkapja a webes adatfeltáró eszközt. Keresheti, böngészheti, dokumentálhatja és megoszthatja táblázatait közvetlenül a Githubon.

Példa a Github Actions segítségével generált helyőrző táblázatra. Teljes működő bemutató .
Villámgyors keresés a CLI-ből a tárolójában.
A Whale él és lélegzik a parancssorban, funkcionális, millisekundumos keresést biztosít a táblázatai között. Még millió táblázat mellett is sikerült a whale-t hihetetlenül teljesítményessé tenni, trükkös gyorsítótárazási mechanizmusokat alkalmazva és a hátoldalt Rust-ra építve. Nem fogja észlelni a keresési késést [helló, Google DS].

A whale bemutatója, keresés egy millió táblázaton.
Automatikus metrikák számítása [béta verzióban]
Az egyik legkevésbé kedvelt dolog számomra adatkutatóként az, hogy ugyanazokat a lekérdéseket ismételgetem csak az adatok minőségének ellenőrzésére. A Whale támogatja a metrikák egyszerű SQL-ben való megadását, amelyeket az ütemezési időpontjával együtt futtatnak a metaadat-átalakító folyamataival. Határozza meg a metrikák blokkot YAML formátumban a helyőrző táblázaton belül, és a Whale automatikusan ütemezve végrehajtja a metrics blokkban található lekérdéseket.
```metrics
metric-name:
sql: |
select count(*) from table
``` 
A GitHub integration means that Whale can serve as an easy central source of truth for metric definitions. Whale even stores values along with timestamps in the directory "/.whale/metrics" if you want to create some graphs or conduct deeper research.
Jövő
Beszélgetve a Whale előzetes verzióinak felhasználóival, rájöttünk, hogy az emberek szélesebb funkcionalitásra vágynak. Miért éppen a táblázatkereső eszköz? Miért nem egy metrikakereső eszköz? Miért nem monitorozó? Miért nem egy SQL-kérdéseket végrehajtó eszköz? Miközben a Whale v1 eredetileg egyszerű CLI társ-eszközként készült, Dataportal/Amundsen, már egy teljességgel funkcionális független platformmá nőtte ki magát, és reméljük, hogy elengedhetetlen részévé válik az adatkutatók eszköztárának.
Ha van valami, amit szeretnél látni a fejlesztés folyamatában, csatlakozz a , nyisd meg a problémákat a , vagy akár közvetlenül fordulj hozzánk a . Már számos érdekes funkcióval rendelkezünk — Jinja sablonok, könyvjelzők, keresési szűrők, Slack értesítések, Jupyter integráció, sőt, metrikához CLI panel — de örömmel fogadjuk a hozzájárulásodat.
Zárás
A Whale-t a Dataframe fejleszti és támogatja, egy startup, amelyet nemrégiben örömmel alapítottam másokkal. Míg a Whale adatkezelők számára készült, a Dataframe az adatkezelő csapatok számára van. Azok számára, akik szorosabb együttműködést szeretnének — ne habozzatok , felkerülünk a várólistára.
A promóciós kóddal HABR, 10% extra kedvezményt kaphatsz a banneren megadott árhoz.
További kurzusok
Ajánlott cikkek
Forrás: habr.com
