Middle
Wat zijn lazy berekeningen in Spark?
sobes.tech AI
Antwoord van AI
In Apache Spark betekenen lazy berekeningen dat operaties op gegevens niet onmiddellijk worden uitgevoerd bij het aanroepen ervan. In plaats daarvan bouwt Spark een berekeningsplan (DAG — Directed Acyclic Graph), dat pas wordt uitgevoerd wanneer het resultaat nodig is, bijvoorbeeld bij het aanroepen van acties zoals collect(), count(), save().
Dit stelt je in staat om de uitvoering te optimaliseren door meerdere transformaties te combineren in één fase, het lezen en schrijven van gegevens te minimaliseren, en de belasting efficiënt over clusters te verdelen.
Voorbeeld:
val rdd = sc.textFile("data.txt")
val filtered = rdd.filter(line => line.contains("error")) // lazy transformatie
val count = filtered.count() // actie, start de berekeningen
Hier wordt filter niet meteen uitgevoerd, maar pas wanneer count() wordt aangeroepen.