In dit artikel wordt een eenvoudig en snel gegevensontdeckingsinstrument besproken, waarvan je de werking kunt zien op KDPV. Interessant is dat whale zo is ontworpen dat het op een externe git-server kan worden gehost. Meer details onder de kat.
Hoe het gegevensontdekkingsinstrument van Airbnb mijn leven heeft veranderd
In mijn carriĆØre heb ik het geluk gehad om aan enkele interessante problemen te werken: ik bestudeerde stromen wiskunde tijdens mijn studie aan MIT, werkte aan incrementele modellen en aan een open-sourceproject bij Wayfair, en implementeerde ook nieuwe targetingmodellen op de homepage en verbeteringen aan CUPED bij Airbnb. Maar al dit werk was nooit glamoureus ā in feite bracht ik vaak een groot deel van mijn tijd door met het zoeken, bestuderen en verifiĆ«ren van gegevens. Hoewel dit een constante staat van zaken op het werk was, had ik niet gedacht dat dit een probleem was, totdat ik bij Airbnb kwam, waar het werd opgelost met behulp van een gegevensontdekkingstool ā .
Waar kan ik {{data}} vinden? Dataportal.
Wat betekent deze kolom? Dataportal.
Hoe staat het vandaag met {{metric}}? Dataportal.
Wat is de zin van het leven? In Dataportal, waarschijnlijk.
OkĆ©, je hebt de situatie geschetst. Gegevens vinden en begrijpen wat ze betekenen, hoe ze zijn gemaakt en hoe ze te gebruiken ā dit alles kost slechts een paar minuten, en geen uren. Ik zou mijn tijd kunnen besteden aan het maken van eenvoudige conclusies, of aan nieuwe algoritmen, (⦠of antwoorden op willekeurige vragen over gegevens), in plaats van door notities te graven, herhaalde SQL-query's te schrijven en collega's op Slack te vermelden om de context te proberen te recreĆ«ren die al bij iemand anders was.
Wat is het probleem?
Ik realiseerde me dat de meeste van mijn vrienden geen toegang hadden tot zo'n instrument. Slechts enkele bedrijven willen enorme middelen toewijzen voor het creƫren en onderhouden van zo'n platforminstrument, zoals Dataportal. En hoewel er enkele open-sourceoplossingen zijn, zijn deze doorgaans ontworpen voor opschaling, wat het aanpassen en onderhouden zonder een toegewijde DevOps-engineer moeilijk maakt. Daarom besloot ik iets nieuws te creƫren.
Whale: een ongelooflijk eenvoudig gegevensontdekkingsinstrument

En ja, met ongelooflijk eenvoudig bedoel ik ongelooflijk eenvoudig. Whale heeft slechts twee componenten:
- Python-bibliotheek die metadata verzamelt en deze in MarkDown opmaakt.
- Op de Rust-gebaseerde opdrachtregelinterface voor zoekopdrachten in deze gegevens.
Wat betreft de interne infrastructuur voor onderhoud, zijn er alleen een aantal tekstbestanden en een tekst-updater programma. Dat is alles, dus hosten op een git-server, zoals Github, is triviaal. Geen nieuwe querytaal die geleerd moet worden, geen beheerinfrastructuur, geen back-ups. Git is bij iedereen bekend, dus synchronisatie en samenwerking zijn gratis inbegrepen. Laten we de functionaliteit in meer detail bekijken. .
Volledig grafische interface op basis van git.
Whale is ontworpen om te varen in de oceaan van een git-server. Het om in te stellen: definieer enkele verbindingen, kopieer het Github Actions-script (of schrijf het voor het gekozen CI/CD-platform) ā en je krijgt meteen een webtool voor het ontdekken van gegevens. Je kunt zoeken, bekijken, documenteren en je tabellen direct op Github delen.

Voorbeeld van een met Github Actions gegenereerde placeholder-tabel. Een volledige werkende demonstratie .
Bliksemsnel zoeken vanuit de CLI naar je opslagplaats.
Whale leeft en ademt in de opdrachtregel, biedt functionele, milliseconde-zoekopdrachten in je tabellen. Zelfs met miljoenen tabellen hebben we whale ongelooflijk efficiƫnt weten te maken door enkele slimme caching-mechanismen te gebruiken, en de backend opnieuw op Rust te bouwen. Je merkt geen vertraging bij het zoeken [hallo, Google DS].

Demonstratie van whale, zoeken in een miljoen tabellen.
Automatisch berekenen van metrics [in bĆØta].
Een van de minst favoriete dingen van mij als dataonderzoeker is het herhaaldelijk uitvoeren van dezelfde queries, gewoon om de kwaliteit van de gebruikte gegevens te controleren. Whale ondersteunt de mogelijkheid om metrics te definiƫren in eenvoudige SQL, die op schema worden uitgevoerd samen met je metadata-cleansing pipelines. Definieer een metrics-blok in YAML-formaat binnen de placeholder-tabel, en Whale wordt automatisch volgens schema uitgevoerd en voert de geneste metrics-queries uit.
```metrics
metric-name:
sql: |
select count(*) from table
``` 
In combinatie met GitHub betekent deze aanpak dat whale kan dienen als een gemakkelijke centrale bron van waarheid voor de definitie van metrics. Whale slaat zelfs waarden op met een tijdstempel in de directory Ā«~/whale/metricsĀ», als je een grafiek wilt maken of een diepgaandere analyse wilt doen.
Toekomst
Na gesprekken met gebruikers van onze pre-release versies van whale, hebben we begrepen dat mensen behoefte hebben aan bredere functionaliteiten. Waarom juist een tabelzoektool? Waarom geen metric-zoektool? Waarom geen monitoring tool? Waarom geen tool voor het uitvoeren van SQL-query's? Hoewel whale v1 oorspronkelijk bedoeld was als een eenvoudige CLI-compagnon, Dataportal/Amundsen, is het al uitgegroeid tot een volwaardige autonome platform en we hopen dat het een integraal onderdeel zal worden van de toolkit van data scientists.
Als er iets is dat je wilt zien tijdens het ontwikkelingsproces, sluit je dan aan bij onze , open Issues op , of neem zelfs rechtstreeks contact op met . We hebben al een reeks interessante functies ā Jinja-sjablonen, bladwijzers, zoekfilters, Slack-berichten, integratie met Jupyter, zelfs een CLI-paneel voor metrics ā maar we verwelkomen graag je input.
Conclusie
Whale wordt ontwikkeld en ondersteund door Dataframe, een startup die ik onlangs samen met anderen heb opgericht. Terwijl whale is ontworpen voor data-specialisten, is Dataframe gericht op dataverwerkingsteams. Voor wie nauwer wil samenwerken ā aarzel niet om , we voegen je toe aan de wachtlijst.
En met de promotiecode HABR, krijg je bovendien 10% extra korting op de korting die op de banner vermeld staat.
Meer cursussen
Aanbevolen artikelen
Bron: habr.com
