Hallo zusammen,
ich bin Pascal und nun seit etwa 2,5 Jahren bei NewYorker als Werkstudent tätig. In den folgenden Blogeinträgen möchte ich euch von meiner Arbeit in der Data Science Engineering Abteilung berichten, in der ich seit 1,5 Jahren arbeite.
Grob gefasst ist diese Abteilung dafür zuständig, Unternehmensdaten für Data-Science-Projekte innerhalb des Unternehmens bereitzustellen. Dabei geht es darum, Daten aus verschiedensten Geschäftsprozessen (meistens in der Supply Chain) auf einer separaten Plattform zusammenzufassen. Diese Plattform wird auch Data Lake genannt.
Als ich in der Abteilung angefangen habe, wurde ich zuerst mit dem Data-Lake-Projekt vertraut gemacht. Meine erste Aufgabe war es, Tabellen in der (recht chaotischen) Datenbank zu finden, die Daten über Inventurprozesse in den Filialen enthalten. Daraus sollte ich eine Tabelle für den Data Lake erstellen, die alle Inventurzählungen aller NewYorker-Filialen umfasst. Ziel war es zu prüfen, ob die Inventurdaten mit den Abverkaufsdaten der Filialen übereinstimmen.
Da ich meinen Bachelor im Logistikbereich gemacht habe, musste ich mir dafür ein paar Software-Skills aneignen, was dank meines hilfsbereiten Arbeitsumfelds gar nicht so schwer war. Ein Großteil des Data-Lake-Projekts und somit auch der Code, den ich implementieren musste, ist in PySpark geschrieben. PySpark ist gut darin, mit großen Datenmengen umzugehen, denn manche Tabellen, mit denen wir arbeiten, haben mehrere Milliarden Einträge. Wem SQL und Python leicht fällt, kann PySpark schnell lernen (meine Erfahrung).
Zurück zur Aufgabe: Bei der Suche nach relevanten Inventurdaten-Tabellen konnten mir unternehmensinterne Datenbank-Berater und Fachleute aus anderen Logistik-Abteilungen helfen 5 Tabellen ausfindig zu machen. Nach dem Zusammensetzen aller Tabellen und ein paar Datenbereinigungsprozessen ergab sich eine Tabelle, die die Inventurdaten aller Filialen enthält. Nun galt es zu prüfen, ob die Daten in dieser Tabelle vollständig und korrekt sind. Der Data Lake beinhaltet eine Tabelle, in der alle Warenein- und -ausgänge in den Filialen verzeichnet sind. Wenn man diese bis zu einem Inventurzeitpunkt aggregiert, sollten die Inventurzählungen und der aggregierte Wert aller Warenein- und -ausgänge denselben Filialbestand aufweisen. Dies war jedoch nur vereinzelt für einige Filialen und einzelne Kleidungsstücke der Fall. Grund dafür könnte Diebstahl sein, aber auch die Qualität der Inventurdaten allgemein kann in Frage gestellt werden.
Diese Aufgabe war dennoch hilfreich, um die Dateninfrastruktur von NewYorker und wichtige Applikationen kennenzulernen, mit denen ich zukünftig arbeiten würde.