In diesem Artikel geht es um ein einfaches und schnelles Datenentdeckungswerkzeug, dessen Funktion Sie auf KDPW sehen. Interessanterweise ist whale so gestaltet, dass es auf einem entfernten Git-Server gehostet wird. Details finden Sie unter dem Hinweis.
Wie das Datenentdeckungswerkzeug Airbnb mein Leben verändert hat
In meiner Karriere hatte ich das Glück, an einigen spannenden Herausforderungen zu arbeiten: Ich habe während meines Studiums am MIT die Mathematik der Ströme studiert, an inkrementellen Modellen gearbeitet und an einem Open-Source-Projekt mitgewirkt. bei Wayfair und habe neue Targeting-Modelle für die Startseite implementiert sowie CUPED-Verbesserungen bei Airbnb vorgenommen. Aber all diese Arbeit war nie glamourös – tatsächlich habe ich oft den Großteil meiner Zeit mit der Suche, dem Studium und der Überprüfung von Daten verbracht. Obwohl das ein ständiger Zustand bei der Arbeit war, kam mir nie in den Sinn, dass es ein Problem gab, bis ich zu Airbnb kam, wo es mit einem Datenentdeckungswerkzeug gelöst wurde – .
Wo finde ich {{data}}? Dataportal.
Was bedeutet diese Spalte? Dataportal.
Wie steht es um {{metric}} heute? Dataportal.
Was ist der Sinn des Lebens? In Dataportal, wahrscheinlich.
Okay, Sie haben das Bild vermittelt. Daten zu finden und zu verstehen, was sie bedeuten, wie sie entstanden sind und wie man sie nutzt — all das dauert nur wenige Minuten anstatt Stunden. Ich könnte meine Zeit damit verbringen, einfache Schlussfolgerungen zu ziehen oder neue Algorithmen zu entwickeln (… oder Antworten auf zufällige Fragen zu Daten), anstatt in Notizen zu stöbern, wiederkehrende SQL-Abfragen zu schreiben und Kollegen in Slack zu erwähnen, um den Kontext wiederherzustellen, den bereits jemand anders hatte.
Und wo liegt das Problem?
Mir ist aufgefallen, dass die meisten meiner Freunde keinen Zugang zu einem solchen Tool hatten. Wenige Unternehmen sind bereit, enorme Ressourcen für die Erstellung und Wartung einer Plattform wie Dataportal bereitzustellen. Obwohl es mehrere Open-Source-Lösungen gibt, sind diese in der Regel für die Skalierung ausgelegt, was die Anpassung und Wartung ohne einen dafür zuständigen DevOps-Ingenieur erschwert. Deshalb habe ich beschlossen, etwas Neues zu schaffen.
Whale: ein Werkzeug zur Datenerkennung, das so einfach ist, dass es fast schon dumm ist.

Und ja, mit "so einfach, dass es fast schon dumm ist" meine ich wirklich einfach. Whale hat nur zwei Komponenten:
- Python-Bibliothek, die Metadaten sammelt und diese in MarkDown formatiert.
- Rust-Kommandozeilen-Schnittstelle zur Durchsuchung dieser Daten.
Aus Sicht der internen Infrastruktur besteht die Wartung lediglich aus einer Vielzahl von Textdateien und einem aktualisierenden Textprogramm. Das ist alles, weshalb das Hosting auf einem Git-Server wie GitHub trivial ist. Keine neue Abfragesprache, die man lernen müsste, keine Verwaltungsinfrastruktur, keine Backups. Git ist allgemein bekannt, sodass Synchronisierung und Zusammenarbeit kostenlos angeboten werden. Lassen Sie uns die Funktionalität genauer betrachten. .
Vollständig funktionsfähige grafische Benutzeroberfläche auf Basis von Git
Whale wurde entwickelt, um im Ozean eines entfernten Git-Servers zu navigieren. Es einrichten: Definieren Sie einige Verbindungen, kopieren Sie das GitHub Actions-Skript (oder schreiben Sie es für die gewählte CI/CD-Plattform) — und schon haben Sie ein Web-Toolkit zur Datenerfassung. Sie können Ihre Tabellen direkt auf GitHub suchen, anzeigen, dokumentieren und teilen.

Beispiel einer generierten Platzhalter-Tabelle mit GitHub Actions. Eine vollständige, funktionierende Demonstration. .
Blitzschnelle Suche aus der CLI in Ihrem Speicher
Whale lebt und atmet in der Kommandozeile und bietet eine funktionale, millisekundenschnelle Suche durch Ihre Tabellen. Selbst bei Millionen von Tabellen haben wir es geschafft, Whale unglaublich leistungsstark zu machen, indem wir einige raffinierte Caching-Mechanismen verwendet und das Backend auf Rust umgeschrieben haben. Sie werden keine Suchverzögerung bemerken [Hallo, Google DS].

Demonstration von Whale, Suche in einer Million Tabellen.
Automatische Berechnung von Metriken [in der Beta-Phase]
Eine meiner am wenigsten beliebten Aufgaben als Datenforscher ist es, die gleichen Abfragen immer wieder auszuführen, nur um die Qualität der verwendeten Daten zu überprüfen. Whale unterstützt die Möglichkeit, Metriken in einfachem SQL zu definieren, die zusammen mit Ihren Metadatenbereinigungspipelines nach einem Zeitplan ausgeführt werden. Definieren Sie einen Block metrics im YAML-Format innerhalb der Platzhaltertabelle, und Whale wird automatisch nach Zeitplan ausgeführt und die in metrics geschachtelten Abfragen starten.
```metrics
metric-name:
sql: |
select count(*) from table
``` 
In Kombination mit GitHub bedeutet dieser Ansatz, dass Whale als zentrale Informationsquelle für die Definition von Metriken dienen kann. Whale speichert sogar Werte zusammen mit Zeitstempeln im Verzeichnis »~/.whale/metrics«, falls Sie Diagramme erstellen oder tiefere Analysen durchführen möchten.
Zukunft
Gespräche mit Benutzern unserer Vorabversionen von Whale haben uns gezeigt, dass die Menschen eine erweiterte Funktionalität benötigen. Warum gerade ein Tabellen-Suchwerkzeug? Warum nicht ein Metrik-Suchwerkzeug? Warum nicht ein Monitoring-Tool? Warum nicht ein Tool zur Ausführung von SQL-Abfragen? Obwohl Whale v1 ursprünglich als einfaches CLI-Begleitwerkzeug gedacht war, Dataportal/Amundsen, hat es sich bereits zu einer voll funktionsfähigen, autonomen Plattform entwickelt, und wir hoffen, dass es ein unverzichtbarer Teil des Werkzeugkastens von Data Scientists wird.
Wenn es etwas gibt, das Sie im Entwicklungsprozess sehen möchten, treten Sie unserem bei, eröffnen Sie Issues auf , oder wenden Sie sich sogar direkt an . Wir verfügen bereits über eine ganze Reihe interessanter Funktionen – Jinja-Vorlagen, Lesezeichen, Suchfilter, Slack-Benachrichtigungen, Integration mit Jupyter, sogar ein CLI-Panel für Metriken – aber wir freuen uns über Ihren Beitrag.
Fazit
Whale wird von Dataframe entwickelt und unterstützt, einem Startup, das ich kürzlich mit anderen gemeinsam gründen durfte. Während Whale für Datenverarbeitungsspezialisten gedacht ist, richtet sich Dataframe an Teams, die mit Daten arbeiten. Für diejenigen von Ihnen, die enger zusammenarbeiten möchten – zögern Sie nicht, , wir fügen Sie zur Warteliste hinzu.
Und mit dem Aktionscode HABR, können Sie zusätzliche 10 % Rabatt auf den im Banner angegebenen Preis erhalten.
Weitere Kurse
Empfohlene Artikel
Quelle: habr.com
