Jak snadno a rychle vyhledávat data pomocí Whale

Jak snadno a rychle vyhledávat data pomocí Whale
Tento materiál se zaměřuje na jednoduchý a rychlý nástroj pro objevování dat, jehož fungování vidíte na KDPV. Zajímavé je, že whale je navržen tak, aby byl umístěn na vzdáleném git serveru. Podrobnosti najdete níže.

Jak nástroj pro objevování dat Airbnb změnil můj život

Ve své kariéře jsem měl tu čest pracovat na několika zajímavých projektech: Studoval jsem teorii toků během studia na MIT, pracoval jsem na inkramentálních modelech a zapojil se do projektu s otevřeným zdrojovým kódem pylift ve společnosti Wayfair, a také implementoval nové modely cílení na domovskou stránku a vylepšení CUPED v Airbnb. Ale veškerá tato práce nikdy nebyla okázalá – ve skutečnosti jsem často trávil většinu času hledáním, zkoumáním a ověřováním dat. Ačkoli to bylo stálý stav v práci, nikdy mě nenapadlo, že by to mohl být problém, dokud jsem se nedostal do Airbnb, kde byla tato situace vyřešena pomocí nástroje pro objevování dat – Dataportal.

Kde mohu najít {{data}}? Dataportal.
Co znamená tento sloupec? Dataportal.
Jak se dnes má {{metric}}? Dataportal.
Jaký je smysl života? V Dataportal, pravděpodobně.

Dobře, vykreslil jste obraz. Najít data a pochopit, co znamenají, jak byla vytvořena, a jak je použít – to vše trvá jen několik minut, ne hodin. Mohu věnovat svůj čas jednoduchým závěrům nebo novým algoritmům, (… nebo odpovědím na náhodné otázky o datech), místo abych se probíral poznámkami, psal opakující se SQL dotazy a zmiňoval kolegy na Slacku, abych se pokusil znovu vytvořit kontext, který už měl někdo jiný.

Jaký je problém?

Uvědomil jsem si, že většina mých přátel neměla přístup k takovému nástroji. Jen málo firem chce investovat obrovské prostředky do vytvoření a údržby takového nástroje-platformy jako je Dataportal. Ačkoli existuje několik řešení s otevřeným zdrojovým kódem, obvykle jsou navržena k škálování, což ztěžuje jejich nastavení a údržbu bez vyhrazeného DevOps inženýra. Proto jsem se rozhodl vytvořit něco nového.

Whale: jednoduchý až hloupý nástroj pro objevování dat

Jak snadno a rychle vyhledávat data pomocí Whale

A ano, pod jednoduchým až hloupý myslím skutečně jednoduchý až hloupý. Whale má pouze dva komponenty:

  1. Python knihovna sbírající metadata a formátující je do MarkDown.
  2. Rust příkazový řádek pro hledání v těchto datech.

Z hlediska vnitřní infrastruktury pro údržbu existuje pouze množství textových souborů a program pro aktualizaci textu. To je vše, proto je hosting na git serveru, jako je Github, triviální. Žádný nový dotazovací jazyk k naučení, žádná správa infrastruktury, žádné zálohy. Git je znám všem, takže synchronizace a spolupráce jsou zdarma. Podívejme se blíže na funkčnost. Whale v1.0.

Plnohodnotné grafické rozhraní založené na gitu

Whale je navrženo tak, aby plulo v oceánu vzdáleného git serveru. On se velmi snadno konfiguruje: definujte některá připojení, zkopírujte skript Github Actions (nebo jej napište pro vybranou platformu CI/CD) — a okamžitě získáte webový nástroj pro odhalování dat. Budete moci hledat, prohlížet, dokumentovat a sdílet své tabulky přímo na Githubu.

Jak snadno a rychle vyhledávat data pomocí Whale
Příklad generované skriptem Github Actions tabulky-záložky. Kompletní funkční demonstraci najdete v této sekci..

Bleskově rychlé hledání z CLI ve vašem úložišti

Whale žije a dýchá v příkazovém řádku, poskytující funkční, milisekundové vyhledávání ve vašich tabulkách. I když máme miliony tabulek, podařilo se nám učinit whale neuvěřitelně výkonným, použitím několika chytrých mechanismů kešování, a také přepracováním backendu v Rustu. Necítíte žádné zpoždění ve vyhledávání [ahoj, Google DS].

Jak snadno a rychle vyhledávat data pomocí Whale
Demonstrace whale, hledání v milionu tabulek.

Automatické výpočty metrik [v beta verzi]

Jedna z mých nejméně oblíbených věcí jako vědce v oblasti datového výzkumu je spouštění stejných dotazů znovu a znovu jen pro ověření kvality použitých dat. Whale podporuje možnost definování metrik v jednoduchém SQL, které bude vykonáváno podle plánu spolu s vašimi pipeliny na čištění metadat. Definujte blok metrics v YAML formátu uvnitř tabulky záložky, a Whale bude automaticky vykonávat dotazy zahrnuté v metrics podle plánu.

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

Jak snadno a rychle vyhledávat data pomocí Whale
V kombinaci s Github takový přístup znamená, že whale může sloužit jako lehký centrální zdroj pravdy pro definice metrik. Whale dokonce uchovává hodnoty spolu s časovou značkou v adresáři "/whale/metrics", pokud chcete vytvořit nějaký graf nebo hloubkovou analýzu.

Budoucnost

Poté, co jsme hovořili s uživateli našich předběžných verzí whale, jsme pochopili, že lidé potřebují širší funkčnost. Proč právě nástroj pro hledání tabulek? Proč ne nástroj pro vyhledávání metrik? Proč ne monitorování? Proč ne nástroj pro provádění SQL dotazů? I když byl whale v1 původně navržen jako jednoduchý společník CLI Dataportal/Amundsen, už se přeměnil na plně funkční autonomní platformu, a doufáme, že se stane nedílnou součástí nástrojového vybavení datového vědce.

Pokud je něco, co byste chtěli vidět v průběhu vývoje, připojte se k našemu Slack komunitě, otevřete Issues na Github, nebo dokonce kontaktujte nás přímo na LinkedIn. Již máme celou řadu zajímavých funkcí — šablony Jinja, záložky, filtry hledání, upozornění Slack, integrace s Jupyter, dokonce panel CLI pro metriky — ale budeme rádi za váš příspěvek.

Závěr

Whale je vyvíjeno a podporováno společností Dataframe, startupem, který jsem měl nedávno tu čest založit spolu s dalšími lidmi. Zatímco whale je určen pro specialisty na zpracování dat, Dataframe je určen pro týmy zpracování dat. Pro ty z vás, kteří chtějí úzce spolupracovat — nebojte se kontaktovat, přidáme vás na čekací listinu.

Jak snadno a rychle vyhledávat data pomocí Whale
A s promo kódem HABR, můžete získat dalších 10% slevu na uvedenou slevu na banneru.

Další kurzy

Doporučené články

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster