Tools voor inzicht, automatisering en slimme berekeningen
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.
De pipeline bestaat uit vier stappen:
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()
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")
)
De opgeschoonde dataset wordt weggeschreven als CSV-bestand:
df_clean.write.mode("append").csv("wasbs://weather@.blob.core.windows.net/data")
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.
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.