💻 Tilores Studio ist jetzt verfügbar. Führen Sie Entity Resolution lokal auf Ihrem Rechner aus.Kostenlos laden

← Zurück zum Blog
Tilores 25. Mai 2023 · 6 Min. Lesezeit

Tilores und Snowflake lösen das Entity-Resolution-Problem

Steven Renwick
Steven Renwick
CEO, Tilores
Tilores und Snowflake lösen das Entity-Resolution-Problem

Daten in Echtzeit verknüpfen und deduplizieren – für die eine verlässliche Datenbasis

Daten in Snowflake zu verwalten kann anspruchsvoll sein, besonders wenn es darum geht, doppelte oder verwandte Entitäten innerhalb eines Datenbestands zu erkennen und aufzulösen. Für Genauigkeit und Vollständigkeit der Daten ist das entscheidend – ohne die richtige Software aber ein komplexer und zeitraubender Prozess.

Genau hier kommt Tilores ins Spiel. Tilores ist eine speziell dafür gebaute Plattform, die Daten in Echtzeit und im großen Maßstab ohne manuellen Aufwand abgleicht. Sie integriert sich nahtlos in Snowflake und führt Entity Resolution auf Snowflake-Daten aus.

In diesem Beitrag sehen wir uns genauer an, wie Tilores sich mit Snowflake verbindet, um die Herausforderungen der Entity Resolution zu lösen, und wie sich damit die Datenqualität verbessern und das Datenmanagement verschlanken lässt.

Eine Datenbank in Snowflake anlegen

Beginnen wir damit, in Snowflake eine neue Datenbank anzulegen.

Öffnen Sie ein Worksheet, um eine neue Tabelle Orders zu erstellen und einige Beispieldaten hineinzuschreiben.

Beachten Sie: John ist in zwei verschiedenen Schreibweisen erfasst und hat zwei verschiedene E-Mail-Adressen.

Außerdem legen wir eine Tabelle für Newsletter-Abonnements an und fügen dort ein paar Zeilen hinzu.

Schema und Regeln in Tilores anlegen

Nun registrieren wir uns bei Tilores unter https://app.tilores.io. Nach der Anmeldung richten wir unsere erste Instanz von Grund auf ein und erstellen das initiale Schema.

image

Wir können einfach einige Zeilen aus Snowflake als CSV-Datei exportieren.

image

Laden Sie die CSV-Datei in den Data Schema Wizard hoch. Tilores erzeugt daraus das Schema.

Das entstehende Schema dient sowohl der einfacheren Regelkonfiguration als auch jedem Zugriff über die GraphQL-API.

image

Matching-Konfiguration

Als Nächstes konfigurieren wir eine einfache Regel, die zwei Datensätze anhand der exakt gleichen E-Mail-Adresse abgleicht.

Wir gehen zu Extract / Transform, ziehen den Knoten Extract in den Arbeitsbereich und wählen email als Pfad. Wir verbinden ihn mit dem Knoten Source (vom Knoten Source zum Knoten Extract). Anschließend ziehen wir den Knoten Output in den Arbeitsbereich, nennen ihn Email und verbinden ihn mit dem Knoten Extract.

Nun gehen wir zu Matchers und legen einen Matcher für das zuvor erstellte Output Email an.

image

Wir wechseln in der Navigation nach oben zu Rules und legen eine neue Regel an, die auf Basis unseres Matchers Email abgleichen soll.

Um die Regel zu aktivieren, müssen wir sie der Rule Set Configuration hinzufügen.

image

Sie können beliebig viele Regeln anlegen.

Sobald mindestens eine Regel greift, gelten die beiden Datensätze als übereinstimmend und werden miteinander verknüpft.

Die Konfiguration können wir mit der eingebauten rule simulation testen. Wir geben zwei Datensätze ein, einen links und einen rechts, und klicken auf simulate. Das Ergebnis zeigt uns, welche Regeln zwischen beiden Datensätzen gegriffen haben.

Die zweite Regel, die wir anlegen, greift, wenn der Name ähnlich ist.

Dazu fügen wir zunächst die verschiedenen Namensfelder zu einem einzigen Wert zusammen und vergleichen die Werte anschließend über phonetische Token-Gleichheit.

Gehen Sie erneut zu Extract / Transform und ziehen Sie den Knoten Extract dreimal hinein, für die Pfade name, last_name und first_name. Deaktivieren Sie in diesem Beispiel bitte Must Exist für alle drei Namensknoten, da es hier nicht benötigt wird.

image

Ziehen Sie dann den Knoten Join mit der Join Strategy Concatenate Texts hinein und verwenden Sie ein Leerzeichen als Separator.

image

Verbinden Sie als Nächstes einen Knoten Output mit dem Knoten Join und nennen Sie ihn Name. Das sollte so aussehen:

image

Nun müssen der Matcher und das erweiterte Textmatching konfiguriert werden. Gehen Sie zu Tokenization und legen Sie einen neuen Tokenizer vom Typ Word-Based an.

image

Gehen Sie dann zu Text Comparison und legen Sie einen neuen Comparer mit dem Algorithmus Metaphone an.

image

Nun gehen wir zu Matchers und legen einen neuen Matcher an, der den Tokenizer und den phonetischen Ähnlichkeitsabgleich nutzt. Wählen Sie Advanced Text Matching, verwenden Sie Name als Transformation Output, die zuvor erstellte Word-Based Tokenization und den Comparer Metaphone. Als Token Strategy wählen Sie Token Ratio mit einer Ratio von 0.5.

Mit dieser Konfiguration können wir ähnliche Zeichenketten in den Namensfeldern abgleichen.

image

Um diesen Matcher nutzen zu können, müssen wir eine neue Regel anlegen, die wir Similar_Name nennen. Wir fügen den Matcher Similar Name hinzu, indem wir auf das Pluszeichen klicken und den Matcher Similar Name auswählen.

image

Zuletzt muss die Regel dem Rule Set hinzugefügt werden, damit sie beim Matching verwendet wird.

image

Zum Testen der Konfiguration fügen wir dieses JSON in das erste Feld des Rule Simulator ein.

und dieses in das zweite Feld

Wenn Sie auf Simulate klicken, sehen Sie, dass die Regel Similar_Name greift.

image

Um nun alle Änderungen zu übernehmen, müssen wir die Konfiguration zunächst speichern und anschließend in die Produktion ausrollen. Klicken Sie bitte auf save now und navigieren Sie dann zu Advanced Settings. Klicken Sie dort auf Deploy. Damit wird Ihre Tilores-Instanz erzeugt, auf die Snowflake zugreifen kann.

Snowflake und Tilores verbinden

Sobald die Instanz ausgerollt ist, können wir die Snowflake-Integration in Snowflake einrichten.

Gehen Sie zu Integration - Snowflake, kopieren Sie den Code aus 2. in Ihren Snowflake-Arbeitsbereich und führen Sie ihn dort aus. Damit wird die API-Integration erstellt.

Der resultierende Status sollte Integration API_INTEGRATION_TILORES successfully created. lauten.

Kopieren Sie als Nächstes 3. nach Snowflake und führen Sie es aus. Damit werden die External Functions erzeugt, die für die Kommunikation mit Tilores nötig sind. Der Status sollte Function TILORES_MATCH successfully created. lauten.

Kopieren Sie 4., passen Sie es bei Bedarf an und führen Sie es in Snowflake aus. Damit werden die nötigen Zugriffsrechte erzeugt. Der Status sollte Statement executed successfully. lauten.

Kopieren Sie schließlich 5. und führen Sie es in Snowflake aus. Kopieren Sie anschließend den Wert API_AWS_IAM_USER_ARN aus Snowflake und fügen Sie ihn in Tilores in das Feld User ARN ein. Verfahren Sie ebenso mit API_AWS_EXTERNAL_ID und klicken Sie dann auf Update, um die Verbindung zu aktivieren.

Daraufhin sollte dieses Banner erscheinen:

image

Snowflake und Tilores sind nun verbunden.

Daten von Snowflake nach Tilores übernehmen

Wir können nun die Daten aus den Tabellen für Bestellungen und Newsletter-Abonnements aus Snowflake in Tilores laden.

Tilores über Snowflake External Functions abfragen

Über External Functions stehen uns die vollen Abfragemöglichkeiten von Snowflake zur Verfügung.

Die entstandenen Entitäten können wir beispielsweise über die Funktion Tilores entity by record ID abfragen. Sie liefert uns ein Objekt zurück, das eine Entitäts-ID, alle Datensätze dieser Entität und die Verknüpfungen zwischen diesen Datensätzen enthält.

image

Die Ausgabe lässt sich mit dem Lateral Join von Snowflake und der Tabellenfunktion Flatten weiter verbessern.

image

So lassen sich auch gezielt nur die Werte einer Entität abfragen, die uns interessieren. Mit der Suche von Tilores können wir zu beliebigen Daten die passenden Entitäten abfragen.

Snowflake-Daten intelligent mit den Matching-Fähigkeiten von Tilores verknüpfen – und daraus Erkenntnisse gewinnen

Beim falsch geschriebenen John Smiith können wir beispielsweise einen Zahlungsausfall unter dem Namen Robert Smith erkennen, weil die Information über das Newsletter-Abonnement vorliegt.

image

Wir wissen, dass diese beiden Bestellungen tatsächlich zur selben Person gehören.

Fazit – Entity Resolution in Snowflake mit Tilores

Die Anwendungsfälle für Entity Resolution mit Tilores auf Snowflake-Daten beschränken sich nicht auf Daten über Personen. Jede Art von Daten in Snowflake lässt sich mit Tilores deduplizieren und verknüpfen, etwa Produkt- oder Firmendaten.

Die Stärken von Snowflake im Data Warehousing mit den Echtzeit-Fähigkeiten von Tilores in der Entity Resolution zu kombinieren, führt zu

  • sauberen Daten

  • vereinheitlichten Kundenkonten

  • unschätzbaren Erkenntnissen aus den Daten

  • eingesparten Kosten

  • weniger Betrug

Durch die einzigartige Integration beider Systeme können Datenanalysten ihre gewohnten Werkzeuge innerhalb von Snowflake nutzen, um die Daten zu analysieren und mit ihnen zu arbeiten.

Sehen Sie, was aufgelöste Entitätsdaten für Ihr Unternehmen — und Ihre KI — leisten.