Wat is Apache Spark?

Blog | Software Wat is Apache Spark?

Apache-spark-logoApache Spark is een open-source framework voor cluster computing dat speciaal is ontworpen voor het verwerken van enorme datasets. Met zijn ongeëvenaarde snelheid en flexibiliteit biedt Spark de ideale oplossing voor moderne big data-uitdagingen.

Ontdek Spark

Spark onderscheidt zich van andere frameworks door zijn unieke unified computing engine. Deze engine maakt het mogelijk om diverse dataverwerkingstaken binnen één platform uit te voeren, ongeacht de aard van de data of de gebruikte programmeertaal. Of het nu gaat om batchverwerking, real-time streaming, machine learning of grafiekverwerking, Spark biedt de tools en functionaliteit

Spark wordt door haar ontwikkelaars omschreven als een snelle en algemene oplossing voor grootschalige dataverwerking. Dit betekent dat het sneller is dan voorgaande werkwijzen wat  Big Data betreft, zoals de klassieke MapReduce aanpak.

Hoe kan Spark taken sneller uitvoeren? Spark draait op het geheugen (RAM), waardoor de verwerking veel sneller gaat dan op de schijf (Disk). 

  • Libraries – Spark bestaat uit een serie libraries die speciaal ontwikkeld zijn voor data science gerelateerde taken. Spark bevat libraries voor SQL (Spark SQL), Machine Learning (MLlib), Stream Processing (Spark Streaming en Structured Streaming) en Graph Analytics (GraphX).
  • Computing Engine – Spark zorgt voor het laden van gegevens uit verschillende filesystems en voert er berekeningen op uit, maar slaat zelf geen gegevens op. Spark opereert geheel in het geheugen, waardoor ongeëvenaarde prestaties en snelheid mogelijk zijn.
  • Unified – met Spark is het niet nodig om een applicatie uit meerdere API’s of systemen samen te voegen. Spark biedt voldoende ingebouwde API’s om de klus te klaren.
 

De Spark applicatie

Iedere Spark-applicatie bestaat uit een Driver en een set gedistribueerde werkprocessen (Executors).

Spark Driver

De Driver is verantwoordelijk voor de volgende taken:

  • Draait op een node in een cluster en organiseert de uitvoering van een opdracht middels een clustermanager.
  • Analyseert, plant en verdeelt het werk over de Executors.
  • Bewaart metadata over de functionerende applicatie en toont deze op een overzichtelijke manier in een webinterface.

Spark Executors

De Executor is verantwoordelijk voor de volgende taken:

  • Executors voeren alle dataverwerking van een Spark opdracht uit.
  • Slaat resultaten in het geheugen op, deze blijven alleen op de schijf (Disk) bewaard wanneer dit specifiek wordt geïnstrueerd.
  • Stuurt de resultaten terug naar de Driver zodra deze zijn voltooid.

Optimaal uw data managen?

Optimaal data management en cloud orchestration is essentieel voor het functioneren van uw bedrijfsoperaties. Ontdek samen met TTNL waar u kunt verbeteren en maximaliseer de potentie van uw bedrijf.