iX 03/18

Robuste Data-Science-Projekte mit Python und Luigi

Autor:

Klempnerhandwerk

Mit Luigi lassen sich beliebig komplexe Datenpipelines in Python erstellen. Neben Fehlerbehandlung und Monitoring bietet das Framework eine Fülle an Modulen zur Einbindung gängiger Big-Data-Software.

Durch das stark wachsende Datenvolumen hat sich das Rollen verständnis von Data Scientists erweitert. Statt Modelle für einmalige Analysen zu erstellen, geht es immer häufiger darum, Prototypen in produktive Anwendungen zu überführen. Die Auswertungsmodelle sind dabei komplex und kombinieren oft unterschiedliche Software für Datenanalyse und Maschinen lernen wie Hive, Spark oder TensorFlow. Diese Prototypen müssen nun so umgesetzt werden, dass sie dem Anspruch an einen produktiven Applikationsbetrieb genügen.

Dazu gehört beispielsweise die Möglichkeit, die einzelnen Schritte der Analyse zu überwachen, Metriken über die Laufzeit bereitzustellen und verschiedene Teilaufgaben robust miteinander zu verknüpfen. Jede Teilaufgabe sollte zudem idempotent sein, sprich bei mehrmaliger Ausführung mit denselben Daten zum gleichen Ergebnis führen, um bei Fehlern oder wiederholtem Durchlauf konsistente Ergebnisse zu liefern. Das von Spotify entwickelte Open-Source-Framework Luigi hilft dabei, diesen Ansprüchen zu genügen, ohne dass Data Scientists gleich ein ganzes Repertoire neuer Technologien lernen müssen.

Vollständiger Artikel