Verarbeitung monatlicher Wetterdaten in Microsoft Fabric
Dieser Artikel beschreibt einen vollständigen Verarbeitungs- und Analyse-Workflow in Microsoft Fabric. Ziel ist es, monatlich anfallende Wetterdaten effizient zu erfassen, aufzubereiten und für die Analyse bereitzustellen.
Fabric bietet hierfür den idealen Rahmen, indem Datenaufnahme, Transformation und Analyse nahtlos ineinandergreifen. Dies ermöglicht einen vollständigen Workflow innerhalb einer Plattform.
Architekturübersicht: Medaillen-Architektur
Die Datenverarbeitung erfolgt in einer Lakehouse-Architektur nach dem sogenannten Medaillen-Muster. Dabei werden die Daten in aufeinanderfolgenden Phasen veredelt:
- Bronze-Schicht: Hier landen die Rohdaten in ihrem Originalformat. Es finden nur minimale Anpassungen statt, die für die Systemkompatibilität notwendig sind.
- Curated-Schicht: In dieser Schicht werden die Daten aus der Bronze-Schicht bereinigt, strukturiert und angereichert.
Schritt 1: Datenaufnahme in die Bronze-Schicht
Hier werden die monatlichen Rohdaten aus einem OneDrive-Ordner in die Bronze-Schicht geladen.
Dies erfolgt mit Dataflow Gen2, der über eine native SharePoint-/OneDrive-Verbindung auf die Quelldateien zugreift.
- Die monatlichen Dateien werden automatisch zusammengeführt.
- Spaltennamen werden für die Kompatibilität mit dem Delta-Format angepasst (Sonderzeichen werden durch Unterstriche ersetzt).
- Die Spalte Formatted Date wird bewusst als Text gespeichert, um Parsingprobleme in dieser Phase zu vermeiden.
Das Ergebnis ist eine Delta-Tabelle df_weather_data_bronze im Lakehouse lh_weather_readings_bronze. Sie wird im Append-Modus geführt, sodass bei jeder Ausführung nur neue Dateien ergänzt werden, ohne bestehende Daten zu überschreiben.
Schritt 2: Datenveredelung – Überführung in die Curated-Schicht
In diesem Schritt werden die Rohdaten aus der Bronze-Schicht in eine für die Analyse optimierte Form überführt.
Dazu dient ein Notebook im Lakehouse lh_weather_readings_curated, das über einen Table Shortcut auf die Bronze-Tabelle df_weather_data_bronze zugreift.
Die Verarbeitung umfasst zwei zentrale Aufgaben:
-
Haupttabelle (
df_weather_data_curated):- Spaltennamen final für die Analyse vorbereiten.
Formatted_Dateintimestampkonvertieren.- Numerische Spalten korrekt typisieren.
-
Datumstabelle (
dim_date):- Komplette Datumstabelle auf Basis des Datumsbereichs.
- Attribute: Jahr, Monat, Quartal, Wochentag,
YearMonthusw.
Beide Tabellen werden als Delta-Tabellen im Lakehouse lh_weather_readings_curated gespeichert und bilden die Grundlage für die spätere Analyse.
Schritt 3: Monatliche Aktualisierung in der Curated-Schicht (Incremental Update)
In diesem Schritt erfolgt die monatliche Aktualisierung der Curated-Schicht.
Dieser Prozess ist in einer Pipeline umgesetzt und kombiniert zwei Aktivitäten:
- Datenaufnahme (Dataflow): lädt neue monatliche CSV-Dateien im Append-Modus in die Bronze-Tabelle.
- Datenaktualisierung (Notebook): liest ausschließlich neue Datensätze, bereinigt/typisiert sie und fügt sie im Append-Modus der bestehenden
df_weather_data_curatedhinzu.
Die Curated-Schicht wird inkrementell erweitert, ohne dass ältere Daten erneut verarbeitet werden müssen.
Laden der CSVs per Dataflow Gen2 (Append-fähig)
Schritt 1: Rohdaten (Bronze) erstellen
-
Dataflow Gen2 in Fabric erstellen
- Ziel-Lakehouse:
lh_weather_readings_bronze - Quelle: OneDrive / SharePoint-Ordner
- Ziel-Lakehouse:
-
Im Power Query Editor:
- Filter auf den Dateipfad setzen (nur gewünschter SharePoint-Ordner).
In den Optionen das Gebietsschema so setzen, dass Dezimaltrennzeichen korrekt interpretiert werden (z. B. Englisch (United Kingdom) für Punkt statt Komma).
CSV-Dateien kombinieren (Combine Files)
- In Power Query die Spalte Content (Binary) per Doppelpfeil zusammenführen.
-
Problematische Spaltennamen bereinigen
- Delta Lake unterstützt keine Sonderzeichen oder Leerzeichen in Spaltennamen.
- Beispiele:
Temperature (C)→Temperature_C,Wind Speed (km/h)→Wind_Speed_km_h
-
Formatted Date als Text belassen
- Konvertierung zu Datum/Zeit erfolgt später in Curated (robuster, weniger Parsing-Fehler).
-
Delta-Ziel mit Append-Modus anlegen
- Standardziel entfernen und neu als Lakehouse anlegen, damit Einstellungen (z. B. Anfügen) verfügbar sind.
Schritt 2: Curated-Tabelle erzeugen
-
Im Files-Bereich des
lh_weather_readings_curatedLakehouse eine Verknüpfung (Table Shortcut) zur Bronze-Tabelledf_weather_data_bronzeerstellen. So kann ein Notebook in Curated direkt auf die Rohdaten aus Bronze zugreifen. -
Notebook (PySpark) erstellen
- Quelle (SRC): Files-Shortcut auf Bronze (
Files/df_weather_data_bronze) - Schritte: Spaltennamen Delta-kompatibel machen;
Formatted_Daterobust zutimestampkonvertieren (unterstützt+0100/+01:00, mit/ohne Millisekunden); numerische Spalten (z. B.Temperature_C,Humidity) zudoublecasten.
- Quelle (SRC): Files-Shortcut auf Bronze (
-
Datumstabelle (
dim_date): Tag, Jahr, Monat, Monatsname, Quartal, Kalenderwoche,YearMonthetc.
Schritt 3: Pipeline für monatliche Updates
-
Pipeline erstellen: Im gewünschten Arbeitsbereich → Neues Element → Data Pipeline.
-
Aktivitäten einfügen:
- Dataflow-Aktivität → lädt neue CSVs ins Bronze-Lakehouse
- Notebook-Aktivität → erstellt/aktualisiert die Curated-Tabelle
-
Verbindung: Notebook startet nach Abschluss des Dataflows.
-
Zeitplan: Für die Pipeline einen Ausführungs-Zeitplan festlegen.
Analyse und Visualisierung mit Power BI (Direct Lake)
Nachdem die Daten in der Curated-Schicht aufbereitet und strukturiert sind, können sie direkt für die Analyse in Power BI genutzt werden.
- Die Delta-Tabellen
df_weather_data_curatedunddim_datedienen als Basis für ein semantisches Modell. - Mit der Direct Lake-Verbindung greift Power BI direkt auf die Parquet-Dateien im Lakehouse zu – sehr schnelle Abfragen ohne separaten Import.
Das semantische Modell wird zur zentralen Single Source of Truth für Auswertungen, Berichte und Dashboards.
Comments
Post a Comment