Snel en gemakkelijk gegevens zoeken met Whale

Snel en gemakkelijk gegevens zoeken met Whale
Dit artikel gaat over de eenvoudigste en snelste tool voor het ontdekken van gegevens, waarvan je het werk op KDPV ziet. Interessant is dat walvis is ontworpen om te worden gehost op een externe git-server. Details onder de snit.

Hoe de Data Discovery Tool van Airbnb mijn leven heeft veranderd

In mijn carrière heb ik het genoegen gehad om aan een aantal leuke problemen te werken: ik studeerde flow-wiskunde tijdens mijn studie aan het MIT, werkte aan incrementele modellen en met een open source-project pylift bij Wayfair, en implementeerde nieuwe modellen voor homepage-targeting en CUPED-verbeteringen bij Airbnb. Maar al dit werk was nooit glamoureus - ik besteedde zelfs vaak het grootste deel van mijn tijd aan het zoeken, onderzoeken en valideren van gegevens. Hoewel dit een constante toestand op het werk was, kwam het pas bij me op dat dit een probleem was toen ik bij Airbnb kwam, waar het werd opgelost met een tool voor het ontdekken van gegevens − dataportaal.

Waar kan ik {{data}} vinden? dataportaal.
Wat betekent deze kolom? dataportaal.
Hoe gaat het vandaag met {{metric}}? dataportaal.
Wat is een levensgevoel? IN dataportaal, waarschijnlijk.

Oké, je hebt de foto gepresenteerd. Het vinden van gegevens en begrijpen wat het betekent, hoe het is gemaakt en hoe het allemaal te gebruiken, duurt slechts een paar minuten, geen uren. Ik zou mijn tijd kunnen besteden aan het trekken van eenvoudige conclusies of nieuwe algoritmen (... of het beantwoorden van willekeurige vragen over de gegevens) in plaats van het doorspitten van notities, het schrijven van repetitieve SQL-query's en het noemen van collega's op Slack om te proberen een context te creëren die iemand anders al had. .

Wat is het probleem?

Ik realiseerde me dat de meeste van mijn vrienden geen toegang hadden tot zo'n tool. Weinig bedrijven zijn bereid enorme middelen te besteden aan het bouwen en onderhouden van een platformtool zoals Dataportal. En hoewel er een paar open source-oplossingen zijn, zijn ze meestal schaalbaar ontworpen, waardoor het moeilijk is om ze in te stellen en te onderhouden zonder een toegewijde DevOps-engineer. Dus besloot ik iets nieuws te creëren.

Whale: een stompzinnige tool voor het ontdekken van gegevens

Snel en gemakkelijk gegevens zoeken met Whale

En ja, met dom simpel bedoel ik stom simpel. De walvis heeft slechts twee componenten:

  1. Een Python-bibliotheek die metadata verzamelt en opmaakt in MarkDown.
  2. Rust-opdrachtregelinterface voor het doorzoeken van deze gegevens.

Vanuit het oogpunt van de interne infrastructuur voor onderhoud zijn er alleen veel tekstbestanden en een programma dat de tekst bijwerkt. Dat is alles, dus hosting op een git-server zoals Github is triviaal. Geen nieuwe querytaal om te leren, geen beheerinfrastructuur, geen back-ups. Iedereen kent Git, dus synchroniseren en samenwerken is gratis. Laten we de functionaliteit eens nader bekijken Walvis v1.0.

Volledig functionele git-gebaseerde GUI

Whale is ontworpen om te zwemmen in de oceaan van een externe git-server. Hij erg makkelijk configureerbaar: definieer enkele verbindingen, kopieer het Github Actions-script (of schrijf er een voor het door jou gekozen CI/CD-platform) en je hebt meteen een webtool voor gegevensdetectie. U kunt uw spreadsheets rechtstreeks op Github doorzoeken, bekijken, documenteren en delen.

Snel en gemakkelijk gegevens zoeken met Whale
Een voorbeeld van een stub-tabel die is gegenereerd met Github Actions. Volledig werkende demo zie in dit gedeelte.

Bliksemsnelle CLI-zoekopdracht voor uw repository

Whale leeft en ademt op de opdrachtregel en biedt krachtige zoekopdrachten van milliseconden voor al uw tabellen. Zelfs met miljoenen tafels zijn we erin geslaagd om walvis ongelooflijk performant te maken door een aantal slimme caching-mechanismen te gebruiken en ook door de backend opnieuw op te bouwen in Rust. U zult geen zoekvertraging merken [hallo Google DS].

Snel en gemakkelijk gegevens zoeken met Whale
Whale-demo, miljoen tafel opzoeken.

Automatische berekening van statistieken [in bèta]

Een van mijn minst favoriete dingen als datawetenschapper is het keer op keer uitvoeren van dezelfde vragen om de kwaliteit van de gebruikte gegevens te controleren. Whale ondersteunt de mogelijkheid om metrieken te definiëren in gewone SQL die worden gepland om mee te draaien met uw pijplijnen voor het opschonen van metagegevens. Definieer een YAML-metriekblok in de stub-tabel en Whale zal automatisch volgens een schema worden uitgevoerd en query's uitvoeren die zijn genest in metrieken.

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

Snel en gemakkelijk gegevens zoeken met Whale
In combinatie met Github betekent deze benadering dat walvis kan dienen als een gemakkelijke centrale bron van waarheid voor metrische definities. Whale slaat zelfs de waarden samen met de tijdstempel op in de "~/. whale/metrics" als u wat grafieken of meer diepgaand onderzoek wilt doen.

De toekomst

Nadat we met gebruikers van onze pre-releaseversies van whale hadden gesproken, realiseerden we ons dat mensen meer functionaliteit nodig hadden. Waarom een ​​tool voor het opzoeken van tabellen? Waarom geen tool voor het zoeken naar statistieken? Waarom niet monitoren? Waarom geen hulpprogramma voor het uitvoeren van SQL-query's? Hoewel whale v1 oorspronkelijk was bedacht als een eenvoudige CLI-begeleidende tool Dataportal/Amundsen, is het al uitgegroeid tot een volwaardig stand-alone platform en we hopen dat het een integraal onderdeel zal worden van de toolkit van de Data Scientist.

Als er iets is dat je wilt zien in het ontwikkelingsproces, sluit je dan aan bij onze aan de Slack-community, open Issues op GitHubof neem zelfs rechtstreeks contact op LinkedIn. We hebben al een aantal coole functies - Jinja-sjablonen, bladwijzers, zoekfilters, Slack-waarschuwingen, Jupyter-integratie, zelfs een CLI-dashboard voor statistieken - maar we zouden graag uw input ontvangen.

Conclusie

Whale is ontwikkeld en wordt onderhouden door Dataframe, een startup die ik onlangs samen met andere mensen heb mogen oprichten. Terwijl walvis is gemaakt voor datawetenschappers, is Dataframe gemaakt voor datawetenschappers. Voor degenen onder u die nauwer willen samenwerken, voel je vrij om dat te doen adresdan voegen we je toe aan de wachtlijst.

Snel en gemakkelijk gegevens zoeken met Whale
En met promotiecode HABR, kunt u 10% extra krijgen bovenop de korting die op de banner staat vermeld.

Meer cursussen

Aanbevolen artikelen

Bron: www.habr.com