Inleiding tot Apache Spark Architecture

Dit artikel definieert de concepten van Apache Spark Architecture en zijn componenten. Het wordt beschouwd als een gegevensverwerking op topniveau op Apache Software Foundation. Spark wordt uiteindelijk beschouwd als een andere mogelijkheid voor Hadoop en Map Reduce.

Spark is een open-sourcearchitectuur met goed gedefinieerde componenten die helpen bij het analyseren van een grote hoeveelheid gegevens en werken voor gedistribueerde computing. Spark is geschreven in Scala met ingeschakelde functies zoals API's, R en heeft een verrijkte verzameling bibliotheken die het gemakkelijker maken om gegevens te verwerken. Apache Spark heeft zijn individuele clusterberekening voor snellere toegankelijkheid en werkt op verschillende platforms.

Apache Spark heeft een breed scala aan functies zoals speedrunning sneller in-memory-proces, past zich aan meerdere programmeertalen aan, heeft verbeterde cachingtechnieken en ondersteunt SQL-query's, machine learning. Het draait op platforms zoals Microsoft Windows en Linux-besturingssystemen. Hun inzet zegt dat ze ook op één machine en in clustermodus konden werken.

Apache Spark-architectuur

De Architecture of Apache-vonk heeft losjes gekoppelde componenten. Overweeg het meester / werker-proces in de architectuur en alle taken werken bovenop het door Hadoop gedistribueerde bestandssysteem. Apache Spark maakt gebruik van Hadoop voor gegevensverwerking en gegevensopslagprocessen. Ze worden beschouwd als in-memory dataverwerkingsengine en laten hun applicaties sneller op Hadoop-clusters draaien dan op een geheugen. Het hebben van in-memory verwerking voorkomt het falen van disk I / O. Met Spark kan de heterogene taak met dezelfde gegevens werken. Spark verdeelt zijn gegevens in partities, de grootte van de gesplitste partities is afhankelijk van de gegeven gegevensbron.

Hieronder staan ​​de twee belangrijkste implementaties van Apache Spark Architecture:

1. Veerkrachtige gedistribueerde gegevenssets (RDD)

Het is verantwoordelijk voor het leveren van API voor het beheren van caching en partitionering. Het is een belangrijke toolset voor gegevensberekening. Het helpt bij het opnieuw berekenen van elementen in geval van storingen en wordt beschouwd als onveranderlijke gegevens en fungeert als een interface. Transformaties en acties zijn de twee bewerkingen die worden uitgevoerd door RDD.

2. Gerichte Acyclische grafiek (DAG)

Het vormt een sequentieverbinding van de ene knoop naar de andere. De bestuurder converteert het programma naar DAG voor elke taak. Het Apache Spark Eco-systeem heeft verschillende componenten zoals API-kern, Spark SQL, Streaming en real-time verwerking, MLIB en Grafiek X. Sommige terminologieën die hier te leren zijn, is Spark shell die helpt bij het lezen van grote hoeveelheden gegevens, Spark context - annuleren, een taak uitvoeren, taak (een werk), taak (berekening)

Componenten van Apache Spark Architecture

De vier belangrijkste componenten van Spark worden hieronder gegeven en het is noodzakelijk om ze te begrijpen voor het volledige kader.

  1. Spark Driver
  2. uitvoerders
  3. Clustermanager
  4. Werknemersknopen

Het volgende diagram toont de architectuur en componenten van vonk:

Fig: Standalone modus van Apache Spark Architecture

De uitvoeringsstroom begint als volgt:

1. Spark-stuurprogramma

De bestuurder is verantwoordelijk voor het coördineren van de taken en de werknemers voor het management. Het is een Application JVM-proces en wordt beschouwd als een masterknooppunt. Een stuurprogramma splitst de vonk in taken en schema's om uit te voeren op uitvoerders in de clusters. In het diagram roepen de stuurprogramma's de hoofdtoepassing aan en creëren ze een vonkencontext (fungeert als een gateway) die gezamenlijk de taak controleren die binnen het gegeven cluster werkt en verbinding maken met een Spark-cluster Alle functies en opdrachten worden uitgevoerd via de vonkencontext.

Spark context is een invoer voor elke sessie. Spark driver heeft meer componenten om taken in de clusters uit te voeren. Spark-clusters worden verbonden met verschillende typen clusterbeheerders en tegelijkertijd krijgt de context werkknooppunten om gegevens uit te voeren en op te slaan. Wanneer we in het cluster het proces uitvoeren, wordt hun taak onderverdeeld in fasen met versterkingsfasen in geplande taken.

2. uitvoerder

Het is verantwoordelijk voor de uitvoering van een taak en slaat gegevens op in een cache. In het allereerste stadium registreren executeurs zich bij de chauffeurs. Deze uitvoerder heeft een aantal tijdvakken om de toepassing gelijktijdig uit te voeren. Executors voeren een lees / schrijfproces uit op externe bronnen. De uitvoerder voert de taak uit wanneer deze gegevens heeft geladen en deze in de inactieve modus zijn verwijderd. De uitvoerder wordt ingeschakeld door dynamische toewijzing en ze worden constant opgenomen en uitgesloten, afhankelijk van de duur. Tijdens de uitvoering van de taken worden de uitvoerders bewaakt door een stuurprogramma. Executors voeren de taak van gebruikers uit in het Java-proces.

3. Clusterbeheer

Het helpt bij het beheer van de clusters met één master en aantal slaves. Er zijn twee soorten clusterbeheerders zoals YARN en standalone die beide worden beheerd door Resource Manager en Node. clusterwerk op stand-alone vereist Spark Master en werknemerknoop als hun rollen. De verantwoordelijkheid van de clustermanager is om middelen toe te wijzen en de taak uit te voeren,

4. Werknemersknopen

Zij zijn de slavenknooppunten; de hoofdverantwoordelijkheid is om de taken uit te voeren en de uitvoer ervan wordt teruggebracht naar de vonkcontext. Ze communiceren met het hoofdknooppunt over de beschikbaarheid van de bronnen. Spark context voert het uit en geeft het af aan de werkknooppunten. Aan elke werkknooppunt is één vonkenwerker toegewezen voor monitoring. Ze maken de berekening heel eenvoudig door de werkknooppunten te vergroten (1 tot n aantal werkers) zodat alle taken parallel worden uitgevoerd door de taak in partities op meerdere systemen te verdelen. De andere elementtaak wordt beschouwd als een werkeenheid en toegewezen aan één uitvoerder, voor elke partitievonk wordt één taak uitgevoerd.

Conclusie

Door Apache Spark Architecture te begrijpen, betekent dit daarom hoe u big data op een eenvoudige manier kunt implementeren. Uiteindelijk hebben we hun toegankelijkheid en de rol van hun componenten geleerd, wat zeer gunstig is voor cluster computing en big data-technologie. Spark bereken de gewenste resultaten op een eenvoudiger manier en bij voorkeur bij batchverwerking.

De onderscheidende functies van Spark zoals datasets en dataframes helpen de gebruikerscode te optimaliseren. Een belangrijke functie zoals SQL-engine bevordert de uitvoeringssnelheid en maakt deze software veelzijdig. Daarom hebben we gezien dat vonktoepassingen lokaal worden uitgevoerd of in een cluster worden gedistribueerd. Apache Spark wordt beschouwd als een geweldige aanvulling in een breed scala van industrieën zoals big data. Kortom, spark helpt bij het oplossen van hoge computertaken.

Aanbevolen artikelen

Dit is een gids voor Apache Spark Architecture. Hier bespreken we de inleiding tot Apache Spark Architecture samen met de componenten en het blokdiagram van Apache Spark. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie–

  1. Spark Shell-opdrachten
  2. Apache Hadoop Ecosysteem
  3. Big Data-architectuur
  4. Wat is Apache

Categorie: