Wie einfach und schnell man Daten mit Whale sucht

Wie einfach und schnell man Daten mit Whale sucht
In diesem Material geht es um ein einfaches und schnelles Datenentdeckungswerkzeug, dessen Funktionsweise Sie im KDPW sehen. Interessanterweise wurde Whale so konzipiert, dass es auf einem entfernten Git-Server gehostet werden kann. Einzelheiten dazu finden Sie weiter unten.

Wie das Datenentdeckungswerkzeug Airbnb mein Leben verändert hat

In meiner Karriere hatte ich das Glück, an einigen interessanten Problemen arbeiten zu können: Ich habe während meines Studiums am MIT die Mathematik von Streams erforscht, an inkrementellen Modellen gearbeitet und an einem Open-Source-Projekt mitgewirkt. pylift bei Wayfair und habe neue Zielmodelle für die Startseite sowie CUPED-Verbesserungen bei Airbnb implementiert. Aber all diese Arbeit war nie glamourös – tatsächlich habe ich oft den Großteil meiner Zeit mit dem Suchen, Lernen und Überprüfen von Daten verbracht. Obwohl dies ein ständiger Zustand bei der Arbeit war, kam es mir nie in den Sinn, dass es ein Problem war, bis ich bei Airbnb war, wo es mit einem Datenentdeckungswerkzeug gelöst wurde — Dataportal.

Wo finde ich {{data}}? Dataportal.
Was bedeutet diese Spalte? Dataportal.
Wie steht es heute um {{metric}}? Dataportal.
Was ist der Sinn des Lebens? In Dataportal, wahrscheinlich.

Okay, Sie haben ein Bild skizziert. Daten zu finden und zu verstehen, was sie bedeuten, wie sie erstellt wurden und wie man sie nutzt – all das dauert nur einige Minuten und nicht Stunden. Ich könnte meine Zeit damit verbringen, einfache Schlussfolgerungen zu ziehen oder neue Algorithmen zu entwickeln, (… oder Antworten auf zufällige Datenfragen zu finden), anstatt in Notizen zu kramen, sich wiederholende SQL-Anfragen zu schreiben und Kollegen in Slack zu erwähnen, um den Kontext wiederherzustellen, den bereits jemand anderer hatte.

Was ist das Problem?

Mir wurde klar, dass die meisten meiner Freunde keinen Zugang zu einem solchen Werkzeug hatten. Nur wenige Unternehmen sind bereit, enorme Ressourcen für die Erstellung und Pflege eines Plattformwerkzeugs wie Dataportal bereitzustellen. Auch wenn es einige Open-Source-Lösungen gibt, sind diese in der Regel für das Skalieren konzipiert, was die Anpassung und Wartung ohne einen dedizierten DevOps-Ingenieur erschwert. Daher beschloss ich, etwas Neues zu schaffen.

Whale: ein so einfaches, dass es dumm erscheint, Datenentdeckungswerkzeug

Wie einfach und schnell man Daten mit Whale sucht

Und ja, mit einfach bis dumm meine ich einfach bis dumm. Whale hat nur zwei Komponenten:

  1. Eine Python-Bibliothek, die Metadaten sammelt und sie in Markdown formatiert.
  2. Kommandozeilen-Schnittstelle in Rust zur Suche in diesen Daten.

Von der internen Infrastruktur für Wartungszwecke gibt es nur eine Vielzahl von Textdateien und ein aktualisierendes Textprogramm. Das ist alles, daher ist das Hosting auf einem Git-Server wie Github trivial. Keine neue Abfragesprache, die gelernt werden muss, keine Management-Infrastruktur, keine Backups. Git ist allgemein bekannt, sodass Synchronisierung und Zusammenarbeit kostenlos sind. Lassen Sie uns die Funktionalität genauer betrachten. Whale v1.0.

Voll funktionsfähige grafische Benutzeroberfläche basierend auf Git

Whale wurde entwickelt, um im Ozean eines entfernten Git-Servers zu schwimmen. Er lässt sich sehr einfach einrichten: Definieren Sie einige Verbindungen, kopieren Sie das Skript von Github Actions (oder erstellen Sie es für die ausgewählte CI/CD-Plattform) – und Sie erhalten sofort ein Web-Tool zur Datenentdeckung. Sie können Ihre Tabellen direkt auf Github suchen, anzeigen, dokumentieren und teilen.

Wie einfach und schnell man Daten mit Whale sucht
Beispiel einer durch Github Actions generierten Platzhaltertabelle. Eine vollständige funktionsfähige Demo sehen Sie in diesem Abschnitt.

Blitzschnelle Suche über die CLI in Ihrem Repository

Whale lebt und atmet in der Kommandozeile und bietet eine funktionale, millisekundenschnelle Suche in Ihren Tabellen. Selbst bei Millionen von Tabellen ist es uns gelungen, Whale unglaublich leistungsfähig zu machen, indem wir einige raffinierte Caching-Mechanismen verwendet und das Backend auf Rust umgebaut haben. Sie werden beim Suchen keine Verzögerung bemerken [Hallo, Google DS].

Wie einfach und schnell man Daten mit Whale sucht
Demo von Whale, Suche in einer Million Tabellen.

Automatische Berechnung von Metriken [in der Beta]

Eine der am wenigsten beliebten Dinge als Datenwissenschaftler ist es, immer wieder dieselben Abfragen 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 Pipelines zur Bereinigung von Metadaten nach 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 enthaltenen Abfragen ausführen.

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

Wie einfach und schnell man Daten mit Whale sucht
In Kombination mit Github bedeutet dieser Ansatz, dass Whale als eine zentrale Anlaufstelle für die Definition von Metriken dienen kann. Whale speichert sogar die Werte zusammen mit Zeitstempeln im Verzeichnis "~\/whale\/metrics", falls Sie ein Diagramm erstellen oder eine tiefere Analyse durchführen möchten.

Zukunft

Nach Gesprächen mit Benutzern unserer Vorabversionen von Whale haben wir festgestellt, dass die Menschen eine breitere Funktionalität benötigen. Warum ein Tabellen-Suchwerkzeug? Warum kein Metrik-Suchwerkzeug? Warum kein Überwachungstool? Warum kein SQL-Abfragewerkzeug? Obwohl Whale V1 ursprünglich als einfaches CLI-basiertes Begleitwerkzeug gedacht war, Dataportal\/Amundsen, hat es sich bereits zu einer vollwertigen, eigenständigen Plattform entwickelt, und wir hoffen, dass es ein unverzichtbarer Teil des Werkzeugsatzes eines Data Scientists wird.

Wenn es etwas gibt, was Sie im Entwicklungsprozess sehen möchten, treten Sie unserem Slack-Communitybei, öffnen Sie Issues auf Github, oder wenden Sie sich sogar direkt an LinkedIn. Wir haben bereits eine Reihe interessanter Funktionen — Jinja-Templates, Lesezeichen, Suchfilter, Slack-Benachrichtigungen, Integration mit Jupyter, sogar ein CLI-Dashboard 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 gemeinsam mit anderen gegründet habe. Während Whale für Datenverarbeitungsspezialisten gedacht ist, ist Dataframe für Datenverarbeitungsteams konzipiert. Für diejenigen von Ihnen, die enger zusammenarbeiten möchten — zögern Sie nicht, Kontakt aufzunehmen, wir setzen Sie auf die Warteliste.

Wie einfach und schnell man Daten mit Whale sucht
Und mit dem Promo-Code HABR, können Sie zusätzlich 10 % Rabatt auf den im Banner angegebenen Preis erhalten.

Weitere Kurse

Empfohlene Artikel

Quelle: habr.com

Zuverlässiges Hosting für Websites mit DDoS-Schutz kaufen, VPS VDS Server 🔥 Zuverlässiges Hosting für Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster