Sigma Data Solutions

Tools voor inzicht, automatisering en slimme berekeningen

Realtime weerdata verwerken met Databricks en Azure Blob Storage

In dit project laat ik zien hoe je actuele weerdata automatisch kunt ophalen, verwerken en opslaan met behulp van Databricks (PySpark), een REST API en Azure Blob Storage. Dit project is gebouwd in de Databricks Community Edition en is volledig schaalbaar naar productieomgevingen.

Architectuur

Weerdata pipeline

De pipeline bestaat uit vier stappen:

1. API-koppeling maken met OpenWeather

We gebruiken een eenvoudige Python-call in een Databricks-notebook:

import requests
import json
response = requests.get(f"https://api.openweathermap.org/data/2.5/weather?q=Amsterdam&appid=JOUW_API_KEY&units=metric")
data = response.json()

2. Data verwerken met PySpark

De JSON-data wordt ingelezen in PySpark, waarna we kolommen selecteren, timestamps omzetten en de dataset opschonen. Voorbeeld:

from pyspark.sql.functions import col, from_unixtime

df = spark.read.json(sc.parallelize([data]))
df_clean = df.select(
  col("name").alias("location"),
  from_unixtime(col("dt")).alias("timestamp"),
  col("main.temp"),
  col("main.humidity"),
  col("wind.speed")
)

3. Opslag in Azure Blob Storage

De opgeschoonde dataset wordt weggeschreven als CSV-bestand:

df_clean.write.mode("append").csv("wasbs://weather@.blob.core.windows.net/data")

4. Power BI visualisatie (optioneel)

Power BI kan elk uur automatisch de data ophalen uit de Blob Storage en gebruiken voor real-time dashboards, bijvoorbeeld temperatuurtrends of windpatronen per locatie.

Resultaat

Deze pipeline toont aan dat het prima mogelijk is om met beperkte middelen een werkende data engineering oplossing te bouwen. De community edition van Databricks is hiervoor uitstekend geschikt voor het maken van showcases, prototypes of leerprojecten.

Weerdata dashboard Power BI
Deel op LinkedIn
← Terug naar het blogoverzicht