Start Wrangling

Speed up your data preparation with Trifacta

Free Sign Up
Trifacta Ranked #1 in Data Preparation Market Study

Dresner Advisory Services study reviews and ranks 24 vendors

Get the Report
Schedule a Demo

Data-Wrangling in sechs Schritten

May 28, 2019

Mit der Verbreitung von Big-Data-Frameworks wie Hadoop wächst das Interesse der Anwender an der Frage, wie man die Hadoop Platformzur Datenanalyse nutzen kann. Im Fokus steht dabei die Aufbereitung der Rohdaten, auch Data-Wrangling genannt. Vielen gilt diese kritische, aber auch mühsame und zeitraubende Vorarbeit als niederer „Putzjob“, als langweilige Aufwärmübung vor der eigentlichen Suche nach verborgenem Wissen.

Dabei ist das Data-Wrangling für das Gelingen der Analyse ebenso wichtig wie das Endergebnis, Mit dem richtigen Ansatz kann der Analytiker den Informationsgehalt der Rohdaten besser einschätzen und ausschöpfen. Wrangling ist keine Aufgabe, die sich auf einen Schlag erledigen ließe, sondern ein iteratives Verfahren. Aus jedem Arbeitsschritt ergeben sich weitere Möglichkeiten, die Daten zu durchleuchten. Und jede davon bringt den Nutzer dem Ziel einer möglichst belastbaren Aus- und Verwertung näher.

Data-Wrangling kann man mit dem Kochen vergleichen. Ob das Essen schmeckt und bekommt, hängt entscheidend von der Arbeit des Kochs mit den Zutaten ab. Der klassische ETL-Prozess (Extraktion, Transformation, Laden) ähnelt dem Küchenbetrieb in der Massengastronomie. Gut kochen heißt dort: möglichst rationell eine Qualitätsnorm erfüllen. Dem gegenüber steht die „kreative Küche“ des Data-Wranglings. Hier nimmt man sich die Zeit, kulinarisches Neuland zu erschließen. Das Potenzial einer Zutat auszutesten ist dabei ebenso wichtig wie die Zubereitung einzelner Speisen.

Bei Trifacta gliedern wir das Data-Wrangling in sechs Arbeitsschritte:

  1. Sondieren
  2. Strukturieren
  3. Bereinigen
  4. Anreichern
  5. Validieren
  6. Ausgabe

Bevor wir uns jeden dieser Schritte ansehen, drei Punkte vorweg. Zunächst zur Abfolge: Die sechs Arbeitsschritte laufen nicht bei jedem Projekt vom Sondieren bis zur Ausgabe in strenger Reihenfolge ab. Vielmehr kann beispielsweise die Anreicherung der Daten (Schritt 4) weitere Ansatzpunkte zur Bereinigung (Schritt 3) liefern.

Zweitens: Auch wenn die sechs Schritte jeweils fest umrissen sind, kommt es vor, dass eine konkrete Aufgabe bei der Datenaufbereitung in eine Grauzone zwischen zwei oder mehr Schritten fällt. So kann die Bereinigung eines Attributs oder Feldes eines Datensatzes darauf hinauslaufen, es durch einen firmeninternen Standard zu ersetzen – Beispiel: Erweiterung einer Adresse um die Nummer des Vertriebsgebiets. Dies wäre zugleich eine Anreicherung. Doch letztlich kommt es auf die begriffliche Einordnung nicht an. Entscheidend ist der höhere Informationswert der Daten nach der Aufbereitung.

Drittens: Wem die genannten Schritte nach viel und obendrein langweiliger Arbeit klingen, der bedenke, dass heutige Data-Wrangling-Systeme weitgehend automatisiert arbeiten. Auf Knopfdruck oder Mausklick wenden sie ein Paket von Algorithmen an, die in den Daten Muster aufspüren und dazu passende Transformationen vorschlagen. Gegenüber dem kreativen Kochen (siehe oben) hat die Datenaufbereitung mit moderner Software den Vorteil, dass sich jeder Arbeitsschritt rückgängig machen und variieren lässt. Der Experimentierfreude des Nutzers sind somit kaum Grenzen gesetzt. Nun zu den sechs Schritten:

  1. Das Sondieren der Daten bildet nicht nur den Auftakt, sondern zieht sich als roter Faden durch den gesamten Prozess. Es gibt Aufschluss darüber, was in den Rohdaten steckt und mit welchen Methoden sie sich am besten auswerten lassen. Stellt sich beispielsweise beim Sichten der Kundendaten heraus, dass das Gros der Bestellungen aus derselben Region eingeht, wird der Data-Wrangler dies in der weiteren Aufbereitung berücksichtigen. Wohnen etwa alle Kunden im Norden des Landes, so könnte dies bedeuten, dass ihr Kaufverhalten mit dem regionalen Winterwetter zusammenhängt. Analog dazu geht es beim „Sondieren“ im Kochlabor unter anderem darum auszuprobieren, wozu man Eier verwenden kann, oder festzustellen, dass der Knoblauch heute intensiver schmeckt als sonst.
  2. Strukturieren heißt, in Format und Detailfülle variierende Daten vergleichbar zu machen. In einem Webshop etwa enthalten die Einträge der Logdatei, die den Inhalt der Warenkörbe mitschreibt, jeweils einen oder mehrere Artikel. Um den Lagerbestand zu analysieren, muss der Betreiber des Shops vermutlich zu jedem Artikel einer Bestellung einen separaten Datensatz anlegen. Vielleicht interessiert ihn auch, welche Produkte oft zusammen gekauft werden. Dann müsste er zu jeder Transaktion alle Artikelpaare notieren, die sich aus dem Warenkorb bilden lassen. Im Kochlabor entsprechen dem Strukturieren Arbeitsschritte wie Zerkleinern, Mischen, Emulgieren oder Aufbrühen.
  3. Beim Bereinigen werden Daten entfernt, die das Ergebnis verzerren oder die Auswertung stören würden. So stürzen manche Analyseprogramme ab, wenn sie auf leere Felder stoßen. Deshalb empfiehlt es sich, Nullwerte durch die Zahl Null oder einen Leerstring darzustellen. Sinnvoll kann auch sein, Schreibvarianten beziehungsweise Abkürzungen von Attributwerten wie Ländernamen (Deutschland, Dtl., DE, D, BRD) zu vereinheitlichen. Wer Daten bereinigen möchte, muss ihre Qualität kennen und wissen, wie sich einzelne Werte auf die Analyse auswirken. Dieser Arbeitsschritt ähnelt dem Waschen und Putzen der Zutaten beim Kochen: Man entfernt die Stellen, die man nicht auf dem Teller haben möchte, etwa die scharfen Samenkörner der Chiili oder den Fettrand am Steak, und wässert allzu sauer oder salzig Eingelegtes vor der Zubereitung.
  4. Die Schritte 1 bis 3 vermitteln dem Data-Wrangler einen Eindruck vom Informationsgehalt der Daten. Beim nun folgenden Anreichern betrachtet er das Zwischenergebnis und überlegt, welche Schlüsse sich daraus ziehen lassen und welche weiteren Daten das Resultat aufwerten könnten. Anreichern heißt demnach, Daten zu verknüpfen und implizite Aussagen abzuleiten, zum Beispiel durch Faltung von Wahrscheinlichkeitsmaßen oder Umrechnung eines Zeitstempels in einen Wochentag. Überdies liegt es nahe, Bewegungsdaten aus dem Verkauf mit Kundenprofilen oder Kaufhistorien zu verknüpfen. Einen Autoversicherer wiederum dürfte es interessieren, anhand der Kriminalstatistik am Wohnort des Fahrzeughalters das Risiko genauer einzuschätzen. Solche ergänzenden Informationen lassen sich teils aus internen Datenbanken gewinnen, werden aber zunehmend auch von externen Anbietern bezogen. In der Kochkunst entspricht dem Anreichern jede Maßnahme, die den Genuss maximiert – vom Würzen bis zur Wahl der Beilagen und Getränke.
  5. Die Validierung der Daten deckt Qualitätsmängel wie Inkonsistenz auf. Durch Wiederholung dieses Schritts lässt sich zudem prüfen, ob eine Transformation den Mangel behoben hat. Die Validierung sollte sich auf mehrere Dimensionen erstrecken. Zu klären ist zumindest, ob die Attribut- oder Feldwerte syntaktisch korrekt und richtig verteilt sind. So sollte ein boolesches Feld eher als wahr oder falsch kodiert sein denn als 1/0 oder w/f. In einer Kundendatenbank sollten sich die Geburtstage annähernd gleichmäßig auf die Monate des Kalenderjahres verteilen. Darüber hinaus wäre unter anderem auf die Konsistenz der Attribute oder Felder über die Datensätze hinweg zu achten. Vom Konto abgebuchte Beträge etwa sollten einheitlichen Transaktionstypen wie Auszahlung, Überweisung oder Lastschrift zugeordnet sein. Analog dazu prüft der Küchenchef diverse „Dimensionen“ seiner Kreationen, darunter Temperatur, Optik, Konsistenz und Geschmack.
  6. Ausgabe bezieht sich auf die Vorbereitung und Übergabe des Data-Wrangling-Outputs zur Verwendung in nachgelagerten oder künftigen Projekten wie dem Laden in eine spezifische Analysesoftware oder der Dokumentation und Archivierung der Transformationslogik. Manche Analysetools arbeiten deutlich schneller, wenn die Eingabedaten passend strukturiert sind. Gute Data-Wrangler wissen das und formatieren die aufbereiteten Daten so, dass das Zielsystem sie optimal verwerten kann. In vielen Fällen ist es sinnvoll, die Data-Wrangling-Schritte und Methoden eines Projekts zur Anwendung auf andere Datenbestände zu replizieren. Versierte Analytiker pflegen eine persönliche oder freigegebene Bibliothek wiederverwendbarer Transformationslogiken. Beim Kochen entsprechen diesem Arbeitsschritt solche Techniken, mit denen sich die Zubereitung beschleunigen oder die Speisen appetitlich anrichten lassen, wie Entbeinen, Einweichen oder Pellen.

So viel zum Data-Wrangling-Ansatz bei Trifacta. Zwei Aspekte möchten wir noch einmal hervorheben. Zum einen das iterative Vorgehen: Um das Maximum aus den Rohdaten herauszuholen, ist es nicht nur zulässig, sondern oft ratsam, zwischen den sechs Schritten hin- und herzuspringen. Zum anderen die Automation: Die heutige Data-Wrangling-Software nimmt dem Anwender den Großteil der Routinearbeit ab. Gestützt auf hochdifferenzierte Algorithmen und eingebautes Wissen zu nachgelagerten Restriktionen, leitet sie den Nutzer bei der Aufbereitung der Rohdaten kompetent an.

Möchten Sie wissen, wofür der Begriff Data-Wrangling steht? Dann empfehlen wir diesen Blogbeitrag.

Related Posts

Intelligence to Automate Common Data Structuring

It is well-known that data analysts spend 80% of their time on preparing data to make it available for... more

  |  January 13, 2016

Preventing Backend Tunnel Vision

As a backend engineer, I often feel disconnected from end users.  One thing I love about working at Trifacta... more

  |  January 17, 2014

Google Data Fusion and Other Transformation Services for BigQuery Dataprep

The good news is, when it comes to moving and transforming data for analytics built on top of BigQuery, the... more

  |  October 25, 2019