Daten aus dem Fitnesstracker analysieren mit Azure Synapse Analytics
Die Datenanalyse in einem Serverless-Clouddienst erfordert nur minimalen Programmieraufwand, wie ein Beispiel mit eigenen Fitnessdaten zeigt.
- Vladimir Poliakov
Mit der Azure Data Factory (ADF) hat Microsoft die Funktionen eines klassischen Data Warehouse in die Cloud übertragen. Der neuere Dienst Azure Synapse Analytics (Azure Synapse) geht noch einen Schritt weiter und verknüpft Data Warehousing mit Big Data und Data Science. Wie sich der Cloudservice einfach für die codefreie Datenintegration und Analyse nutzen lässt, verdeutlicht ein Beispiel mit Daten aus einem gängigen Fitnesstracker, dem Xiaomi Mi Fit INTELLI-Band 4.
Use Case aus der Praxis
Azure Synapse baut grundsätzlich auf der gleichen Engine für die Datenintegration auf und bietet die gleichen Arbeitsumgebungen wie ADF, Funktionen rund um die Integration Runtime und Power Query fehlen hingegen. Spark Pools und die Überwachung von Datenflüssen stehen hingegen nur in Azure Synapse zur Verfügung. Das folgende praktische Beispiel verwendet konkret die Azure Synapse Batch ETL Pipeline inklusive der serverlosen SQL-Ressourcenmodelle.
Die zu analysierenden Daten kommen von dem Fitnesstracker von Xiaomi und umfassen die Tagesaktivität (Anzahl Schritte und zurückgelegte Distanz pro Tag) sowie die Schlafaktivität (Tiefschlaf und Leichtschlaf). Obwohl einerseits die Mi-Fit-App auch Statistiken zur Verfügung stellt und sich andererseits in öffentlich zugänglichen Quellen im Internet für die Analyse geeignete Daten finden ließen, zieht es der Autor als experimentierfreudiger Data Engineer vor, mit eigenen Daten zu spielen.
Die Daten lassen sich als zwei CSV-Dateien in Azure Blob Storage hochladen, wo die Azure Synapse Pipeline sie extrahiert, transformiert und in eine gemeinsame CSV-Datei ĂĽberfĂĽhrt. Danach werden die Daten im serverlosen Azure Synapse SQL-Pool analysiert (Abbildung 1).
Die Anzahl der Daten ist überschaubar, was für den serverlosen Azure Synapse SQL-Pool von Vorteil ist, weil er nur nach Verwendung abgerechnet wird. Welche Kosten dabei konkret entstehen können, zeigen die Details zu einem praktischen Beispiel am Ende des Artikels.
Daten bereitstellen
Besitzer eines Fitnesstracker haben das Recht, eigene Daten vom Gerät zu exportieren – nicht zuletzt dank der DSGVO. Bei dem hier verwendeten Tracker ist dieser Prozess doch nicht so einfach, und es finden sich nur wenige hilfreiche Informationen im Internet.
Die verkĂĽrzte Zusammenfassung, der beim vorliegenden Fitnesstracker erforderlichen Schritte unter Android 9, 10 oder 11 lautet:
- In der App unten in der Leiste auf Profil tippen
- Nach unten scrollen und Einstellungen auswählen
- In den Einstellungen auf Ăśber gehen und wieder nach unten zum Punkt Benutzerrechte ausĂĽben scrollen
- Im Punkt Benutzerrechte ausüben wieder nach unten scrollen und Daten übertragen auswählen
- Im Punkt Daten übertragen kann man endlich alle notwendigen Daten auswählen (s. Abb. 2) und an eine E-Mail-Adresse schicken lassen
Via App überträgt der Fitnesstracker die Daten zunächst zum Austauschserver, der binnen weniger Minuten eine E-Mail mit dem Downloadlink und dem Passwort verschickt. Unter dem enthaltenen Link liegt eine passwortgeschützte ZIP-Datei parat. Nachdem die Datei heruntergeladen und entpackt ist, sieht die Verzeichnisstruktur wie in Abbildung 3 aus. Für das Beispiel in diesem Artikel sind nur die Dateien ACTIVITY.csv und SLEEP.csv relevant. Die Struktur dieser Daten gibt Abbildung 4 wieder. Nach der Vorbereitung von Azure Synapse Analytics lassen sich beide Dateien in die Azure Cloud hochladen.
Besitzer einer Apple Watch kommen ĂĽbrigens laut einem Beitrag bei Medium in nur drei Schritten, an ihre Daten und eine geeignete ZIP-Datei. In dem ZIP-Archiv findet sich dann eine groĂźe XML-Datei, die fĂĽr die Verarbeitung in Azure Synapse lediglich geparst werden sollte.