1/15
Looks like no tags are added yet.
Varför är Apache Spark snabbare än MapReduce?
Spark bearbetar data i RAM (in-memory) och exekverar operationer som en cykelfri graf (DAG) utan diskspill mellan steg.
Vad är ett Resilient Distributed Dataset (RDD)?
En oföränderlig (immutable), distribuerad och partitionerad samling element i minnet.
Vad är skillnaden mellan Transformations och Actions i Spark?
Transformations bygger upp en exekveringsplan lat (lazy); Actions triggar den faktiska beräkningen och returnerar resultat.
Ge tre exempel på Spark Transformations.
map(), filter(), flatMap() (eller groupByKey(), reduceByKey()).
Ge tre exempel på Spark Actions.
count(), collect(), saveAsTextFile() (eller take(), reduce()).
Vad innebär "Lazy Evaluation" i Spark?
Att beräkningar inte körs direkt när en transformation anropas, utan väntar tills en Action tvingar fram ett resultat.
Vad är fördelen med Lazy Evaluation i Spark?
Det gör att Spark kan analysera och optimera hela exekveringskedjan i förväg (t.ex. slå ihop filter och map).
Vad är en Lineage Graph i Spark?
En riktad acyklisk graf som loggar alla transformationer som skapat ett RDD från grundkällan.
Hur uppnår Spark feletolerans med hjälp av Lineage Graph?
Om en nod kraschar och en partition förloras, återskapas endast den förlorade partitionen genom att köra om dess transformationssteg.
Vad är en Narrow Dependency i Spark?
Varje partition i föräldra-RDD används av högst en partition i barn-RDD (t.ex. map, filter); kräver ingen shuffle.
Vad är en Wide Dependency i Spark?
Flera barnpartitioner beror på data från samma föräldrapartition; kräver att data skickas över nätverket via en Shuffle.
Vad är skillnaden mellan ett Spark Job, en Stage och en Task?
Ett Job skapas per Action; ett Job delas in i Stages vid Wide Dependencies (shuffles); en Stage består av parallella Tasks per partition.
Vad är skillnaden mellan groupByKey() och reduceByKey() i Spark?
reduceByKey slår ihop data lokalt på noden före shuffle (som en combiner); groupByKey skickar all rådata över nätverket och är mycket långsammare.
Vad gör RDD caching (cache())?
Sparar beräknade partitioner i minnet så att RDD:n slipper räknas om från källan vid nästa Action.
Vad är skillnaden mellan cache() och persist(StorageLevel)?
cache() lagrar alltid i minnet som Java-objekt; persist() tillåter valfri nivå (disk, serialiserat i RAM, off-heap).
Vad är skillnaden mellan cache() och checkpoint()?
cache() behåller RDD:ns lineage-graf i minnet; checkpoint() sparar RDD:n på disk (HDFS) och kapar lineage-kedjan helt.