Paano maghanap ng data nang mabilis at madali gamit ang Whale

Paano maghanap ng data nang mabilis at madali gamit ang Whale
Pinag-uusapan ng artikulong ito ang pinakasimple at pinakamabilis na tool sa pagtuklas ng data, ang gawaing nakikita mo sa KDPV. Kapansin-pansin, ang whale ay idinisenyo upang ma-host sa isang remote git server. Mga detalye sa ilalim ng hiwa.

Paano Binago ng Tool sa Pagtuklas ng Data ng Airbnb ang Aking Buhay

Sa aking karera, sapat na akong mapalad na gumawa ng ilang masasayang problema: Nag-aral ako ng flow math habang ginagawa ang aking degree sa MIT, nagtrabaho sa mga incremental na modelo, at may isang open source na proyekto pylift sa Wayfair, at nagpatupad ng mga bagong modelo sa pag-target sa homepage at mga pagpapahusay ng CUPED sa Airbnb. Ngunit ang lahat ng gawaing ito ay hindi kailanman kaakit-akitβ€”sa katunayan, madalas kong ginugugol ang halos lahat ng oras ko sa paghahanap, pagsasaliksik, at pagpapatunay ng data. Bagama't ito ay isang pare-parehong estado sa trabaho, hindi sumagi sa isip ko na ito ay isang isyu hanggang sa makarating ako sa Airbnb kung saan ito ay nalutas gamit ang isang tool sa pagtuklas ng data βˆ’ dataportal.

Saan ko mahahanap ang {{data}}? dataportal.
Ano ang ibig sabihin ng column na ito? dataportal.
Kumusta ang {{metric}} ngayon? dataportal.
Ano ang kahulugan ng buhay? SA dataportal, malamang.

Okay, ipinakita mo ang larawan. Ang paghahanap ng data at pag-unawa kung ano ang ibig sabihin nito, kung paano ito ginawa at kung paano gamitin ang lahat ng ito ay tumatagal lamang ng ilang minuto, hindi oras. Maaari kong gugulin ang aking oras sa paggawa ng mga simpleng konklusyon, o mga bagong algorithm, (... o pagsagot sa mga random na tanong tungkol sa data), sa halip na paghukay sa mga tala, pagsulat ng paulit-ulit na mga query sa SQL, at pagbanggit ng mga kasamahan sa Slack upang subukan at muling likhain ang konteksto. na may iba na nagkaroon.

Ano ang problema?

Napagtanto ko na karamihan sa aking mga kaibigan ay walang access sa naturang tool. Ilang kumpanya ang handang maglaan ng malalaking mapagkukunan sa pagbuo at pagpapanatili ng isang tool sa platform tulad ng Dataportal. At habang may ilang mga open source na solusyon, malamang na idinisenyo ang mga ito upang sukatin, na nagpapahirap sa pag-set up at pagpapanatili nang walang dedikadong DevOps engineer. Kaya nagpasya akong lumikha ng bago.

Whale: Isang napakasimpleng tool sa pagtuklas ng data

Paano maghanap ng data nang mabilis at madali gamit ang Whale

And yes, by stupidly simple I mean stupidly simple. Ang balyena ay may dalawang bahagi lamang:

  1. Isang Python library na nangongolekta ng metadata at pino-format ito sa MarkDown.
  2. Rust command line interface para sa paghahanap sa pamamagitan ng data na ito.

Mula sa punto ng view ng panloob na imprastraktura para sa pagpapanatili, mayroon lamang maraming mga text file at isang programa na nag-a-update ng teksto. Iyon lang, kaya ang pagho-host sa isang git server tulad ng Github ay walang halaga. Walang bagong wika ng query na matutunan, walang imprastraktura ng pamamahala, walang backup. Alam ng lahat ang Git, kaya libre ang pag-sync at pakikipagtulungan. Tingnan natin ang pag-andar Balyena v1.0.

Buong itinatampok na git-based na GUI

Ang Whale ay idinisenyo upang lumangoy sa karagatan ng isang malayong git server. Siya napakadali maaaring i-configure: tukuyin ang ilang koneksyon, kopyahin ang script ng Github Actions (o magsulat ng isa para sa napili mong CI/CD platform) at magkakaroon ka kaagad ng data discovery na web tool. Magagawa mong maghanap, tingnan, idokumento at ibahagi ang iyong mga spreadsheet nang direkta sa Github.

Paano maghanap ng data nang mabilis at madali gamit ang Whale
Isang halimbawa ng isang stub table na nabuo gamit ang Github Actions. Buong gumaganang demo tingnan sa seksyong ito.

Mabilis na kidlat na paghahanap ng CLI para sa iyong imbakan

Ang balyena ay nabubuhay at humihinga sa command line, na nagbibigay ng malakas, millisecond lookup sa iyong mga talahanayan. Kahit na may milyun-milyong mga talahanayan, nagawa naming gawin ang whale na hindi kapani-paniwalang gumaganap sa pamamagitan ng paggamit ng ilang matalinong mekanismo ng pag-cache at gayundin sa pamamagitan ng muling pagtatayo ng backend sa Rust. Hindi mo mapapansin ang anumang pagkaantala sa paghahanap [hello Google DS].

Paano maghanap ng data nang mabilis at madali gamit ang Whale
Balyena demo, milyon-milyong talahanayan lookup.

Awtomatikong pagkalkula ng mga sukatan [sa beta]

Ang isa sa aking hindi gaanong paboritong mga bagay bilang isang data scientist ay nagpapatakbo ng parehong mga query nang paulit-ulit para lang suriin ang kalidad ng data na ginagamit. Sinusuportahan ng Whale ang kakayahang tumukoy ng mga sukatan sa plain SQL na nakaiskedyul na tumakbo kasama ng iyong mga pipeline ng paglilinis ng metadata. Tumukoy ng bloke ng mga sukatan ng YAML sa loob ng stub table, at awtomatikong tatakbo ang Whale sa isang iskedyul at magpapatakbo ng mga query na naka-nest sa mga sukatan.

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

Paano maghanap ng data nang mabilis at madali gamit ang Whale
Kasama ng Github, ang paraan na ito ay nangangahulugan na ang balyena ay maaaring magsilbi bilang isang madaling sentral na mapagkukunan ng katotohanan para sa mga kahulugan ng sukatan. Si Whale ay nagse-save pa ng mga halaga kasama ang timestamp sa "~/. whale/metrics" kung gusto mong gumawa ng ilang charting o mas malalim na pananaliksik.

Ang hinaharap

Pagkatapos makipag-usap sa mga user ng aming mga pre-release na bersyon ng whale, napagtanto namin na kailangan ng mga tao ng higit pang functionality. Bakit isang tool sa paghahanap ng talahanayan? Bakit hindi isang tool sa paghahanap ng sukatan? Bakit hindi sinusubaybayan? Bakit hindi isang tool sa pagpapatupad ng SQL query? Habang ang whale v1 ay orihinal na naisip bilang isang simpleng tool na kasama ng CLI Dataportal/Amundsen, ito ay umunlad na sa isang ganap na tampok na standalone na platform, at umaasa kaming magiging mahalagang bahagi ito ng toolkit ng Data Scientist.

Kung may gusto kang makita sa proseso ng pag-unlad, sumali sa amin sa komunidad ng Slack, bukas na Mga Isyu sa Githubo kahit na direktang makipag-ugnayan LinkedIn. Mayroon na kaming ilang mga cool na feature - Jinja template, bookmark, search filter, Slack alert, Jupyter integration, kahit isang CLI dashboard para sa mga sukatan - ngunit gusto namin ang iyong input.

Konklusyon

Ang Whale ay binuo at pinananatili ng Dataframe, isang startup na kamakailan ay nagkaroon ako ng kasiyahan sa co-founding sa ibang mga tao. Habang ang balyena ay ginawa para sa mga data scientist, ang Dataframe ay ginawa para sa mga data scientist. Para sa inyo na gustong makipagtulungan nang mas malapit, huwag mag-atubiling addressidadagdag ka namin sa waiting list.

Paano maghanap ng data nang mabilis at madali gamit ang Whale
At sa pamamagitan ng promo code HABR, maaari kang makakuha ng karagdagang 10% sa diskwento na nakasaad sa banner.

Higit pang mga kurso

Mga Itinatampok na Artikulo

Pinagmulan: www.habr.com