Как лесно и бързо да търсите данни с Whale

Как лесно и бързо да търсите данни с Whale
В този материал се разказва за най-простия и бърз инструмент за откриване на данни, чиято работа можете да видите на КДПВ. Интересно е, че whale е създаден по такъв начин, че да може да се разполага на отдалечен git сървър. Подробности под кат.

Как инструментът за откритие на данни Airbnb промени живота ми

В кариерата ми ми се е случвало да работя по някои интересни проблеми: проучвах математиката на потоките по време на обучението си в MIT, работих по инкрементални модели и по проект с отворен код. pylift в Wayfair и внедрявал нови модели на таргетинг на началната страница и подобрения CUPED в Airbnb. Но цялата тази работа никога не е била бляскава — всъщност често прекарвах голяма част от времето си в търсене, проучване и проверка на данни. Въпреки че това беше постоянно състояние на работа, никога не ми е минавало през ума, че това е проблем, докато не стигнах до Airbnb, където той беше решен с помощта на инструмент за откритие на данни — Dataportal.

Къде мога да намеря {{data}}? Dataportal.
Какво означава тази колона? Dataportal.
Как върви {{metric}} днес? Dataportal.
Какъв е смисълът на живота? В Dataportal, вероятно.

Добре, вие представихте картината. Намерете данните и разберете какво означават, как са създадени и как да ги използвате — всичко това отнема само няколко минути, а не часове. Мога да отделя времето си за правене на прости заключения или за нови алгоритми, (…) или отговори на случайни въпроси за данни, а не да ровя в бележки, да пиша повтарящи се SQL запитвания и да споменавам колеги в Slack, за да се опитам да възпроизведа контекста, който вече е имал някой друг.

Какъв е проблемът?

Осъзнах, че повечето от моите приятели нямат достъп до такъв инструмент. Малко компании искат да отделят огромни ресурси за създаване и поддържане на платформа като Dataportal. И докато съществуват няколко решения с отворен код, те обикновено са проектирани за мащабируемост, което затруднява настройката и поддръжката без посветен инженер DevOps. Затова реших да създам нещо ново.

Whale: прост до глупост инструмент за откриване на данни

Как лесно и бързо да търсите данни с Whale

И да, под прост до глупост имам предвид прост до глупост. Whale има само два компонента:

  1. Библиотека Python, която събира метаданни и ги форматира в MarkDown.
  2. Команден интерфейс на Rust за търсене на тези данни.

От гледна точка на вътрешната инфраструктура за поддръжка, имате само множество текстови файлове и програма за обновление на текст. Това е всичко, затова хостването на git сървър, като Github, е тривиално. Няма нов език за запитвания, който да се учи, няма инфраструктура за управление, няма резервни копия. Git е известен на всички, така че синхронизацията и съвместната работа идват безплатно. Нека разгледаме функционалността по-подробно. Whale v1.0.

Пълнофункционален графичен интерфейс, базиран на git

Whale е създаден, за да плува в океана на отдалечения git сървър. Той е изключително лесен за конфигуриране: определете няколко връзки, копирайте скрипта на Github Actions (или го напишете за избраната платформа CI/CD) — и вие веднага ще получите уеб инструмент за откриване на данни. Ще можете да търсите, преглеждате, документирате и споделяте вашите таблици директно на Github.

Как лесно и бързо да търсите данни с Whale
Пример на генерирана с помощта на Github Actions таблица-заглушка. Пълната работеща демонстрация вижте в тази секция.

Мълниеносно бързо търсене от CLI в хранилището ви

Whale живее и диша в командния ред, предоставяйки функционално, почти мигновено търсене на вашите таблици. Дори при милиони таблици, успяхме да направим whale невероятно бърз, използвайки някои хитри механизми за кеширане и преизграждайки бекенда на Rust. Няма да усетите никаква закъснение при търсенето [здравей, Google DS].

Как лесно и бързо да търсите данни с Whale
Демонстрация на whale, търсене в милион таблици.

Автоматично изчисляване на метрики [в бета версия]

Едно от най-малко любимите ми неща като учен-изследовател на данни е да стартирам същите запитвания отново и отново просто за да проверя качеството на използваните данни. Whale поддържа възможността за определяне на метрики в прост SQL, който ще се изпълнява по график заедно с вашите конвейери за пречистване на метаданни. Определете блок metrics в YAML формат вътре в таблицата-заглушка и Whale автоматично ще се изпълнява по график и ще стартира вложени в metrics запитвания.

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

Как лесно и бързо да търсите данни с Whale
В комбинация с Github, този подход означава, че whale може да служи като удобен централен източник на истина за определения на метрики. Whale дори запазва стойности заедно с времеви марки в директорията»~\/whale\/metrics», ако искате да създадете графика или да направите по-дълбочинно изследване.

Бъдеще

След разговори с потребителите на нашите предрелизни версии на whale, осъзнахме, че хората се нуждаят от по-широка функционалност. Защо инструмент за таблично търсене? Защо не инструмент за търсене на метрики? Защо не мониторинг? Защо не инструмент за изпълнение на SQL заявки? Въпреки че whale v1 първоначално беше замислен като прост CLI спътник Dataportal\/Amundsen, той вече се преобразува в напълно функционална автономна платформа и се надяваме, че ще стане неотменима част от инструментария на дата-сайентиста.

Ако има нещо, което искате да видите в процеса на разработка, присъединете се към нашето Slack общество, отворете Issues на Github, или дори се свържете директно с LinkedIn. Имаме вече множество интересни функции — Jinja шаблони, отметки, филтри за търсене, Slack известия, интеграция с Jupyter, дори CLI панел за метрики — но ще се радваме на вашето участие.

Заключение

Whale се разработва и поддържа от Dataframe, стартап, който наскоро имах удоволствието да основан заедно с други хора. Докато whale е създаден за специалисти по обработка на данни, Dataframe е предназначен за екипи за обработка на данни. За тези от вас, които искат да сътрудничат по-близо — не се колебайте да се свържете, ще ви добавим в листа на чакащите.

Как лесно и бързо да търсите данни с Whale
И с промокод HABR, можете да получите допълнителни 10% отстъпка на посочената в банера.

Още курсове

Препоръчани статии

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster