Introduktion til Apache Spark Architecture

Denne artikel definerer begreberne Apache Spark Architecture og dens komponenter. Det betragtes som et databehandling på højeste niveau på Apache Software Foundation. Spark betragtes i sidste ende som en anden mulighed for Hadoop og Map Reduce.

Spark er en open source-arkitektur med veldefinerede komponenter, der hjælper med at analysere en stor mængde data og fungerer til distribueret computing. Spark er skrevet i Scala med aktiverede funktioner som API'er, R og har beriget sæt biblioteker, hvilket gør det lettere at udføre databehandling. Apache Spark har sin individuelle klyngeberegning til hurtigere tilgængelighed og udføres på forskellige platforme.

Apache Spark har en bred vifte af funktioner, såsom hurtig løb hurtigere i hukommelsesprocessen, tilpasser sig flere programmeringssprog, har forbedrede cacheteknikker og understøtter SQL-forespørgsler, maskinlæring. Det kører på platforme som Microsoft Windows og Linux operativsystemer. Deres implementering siger, at de også kunne køre på en enkelt maskine og klyngetilstand.

Apache gnistarkitektur

Arkitekturen af ​​Apache gnist har løst koblede komponenter. Spark overveje master / arbejdsprocessen i arkitekturen, og alle opgavearbejderne øverst på Hadoop distribuerede filsystem. Apache-gnist bruger Hadoop til databehandling og datalagringsprocesser. De betragtes som en in-memory databehandlingsmotor og gør deres applikationer til at køre på Hadoop-klynger hurtigere end en hukommelse. At have behandling i hukommelsen forhindrer mislykket disk I / O. Spark giver det heterogene job mulighed for at arbejde med de samme data. Spark deler sine data i partitioner, størrelsen på de delte partitioner afhænger af den givne datakilde.

Nedenfor er de to vigtigste implementeringer af Apache Spark Architecture:

1. Resilient Distribuerede datasæt (RDD)

Det er ansvarligt for at levere API til styring af cache og partitionering. Det er et vigtigt værktøjssæt til dataregning. Det hjælper med at beregne elementer i tilfælde af fejl og betragtes som uforanderlige data og fungerer som en grænseflade. Transformationer og handlinger er de to operationer, der udføres af RDD.

2. Directed Acyclic Graph (DAG)

Det danner en sekvensforbindelse fra en knude til en anden. Driveren konverterer programmet til DAG for hvert job. Apache Spark Eco-system har forskellige komponenter som API-kerne, Spark SQL, streaming og realtidsbehandling, MLIB og Graph X. Nogle terminologier, der skal læres her, er Spark shell, der hjælper med at læse store datamængder, gnistkontekst - annullere, køre et job, opgave (et arbejde), job (beregning)

Komponenter i Apache Spark Architecture

De fire hovedkomponenter i gnist er anført nedenfor, og det er nødvendigt at forstå dem for den komplette ramme.

  1. Gnistdriver
  2. eksekutorer
  3. Cluster manager
  4. Arbejderknudepunkter

Følgende diagram viser gnistens arkitektur og komponenter:

Fig: Uafhængig tilstand af Apache Spark Architecture

Udførelsesstrømmen begynder som følger:

1. Gnistdriver

Driverens ansvar er at koordinere opgaverne og arbejderne til ledelse. Det er en Application JVM-proces og betragtes som en hovednode. En driver opdeler gnisten i opgaver og tidsplaner for at udføre på eksekutører i klyngerne. I diagrammet påkalder driverprogrammerne hovedprogrammet og opretter en gnistkontekst (fungerer som en gateway) overvåger samlet jobbet, der arbejder inden for den givne klynge og opretter forbindelse til en gnistklynge. Alle funktionaliteter og kommandoer udføres gennem gnistkonteksten.

Gnistkontekst er en post for hver session. Gnistdriver har flere komponenter til at udføre job i klyngerne. Gnistklynger får forbindelse til forskellige typer klyngestyrere og får samtidigt kontekst medarbejderknudepunkter til at udføre og gemme data. Når vi udfører processen i klyngen, er deres job opdelt i faser med gevinstfaser i planlagte opgaver.

2. Eksekutor

Det er ansvarligt for udførelsen af ​​et job og gemmer data i en cache. I den allerførste fase registrerer eksekutører hos driverne. Denne eksekutor har et antal tidsvinduer til at køre applikationen samtidigt. Eksekutører udfører læse / skriveproces på eksterne kilder. Eksekutoren kører jobbet, når det har indlæst data, og de fjernes i inaktiv tilstand. Eksekutoren aktiveres ved dynamisk tildeling, og de inkluderes og udelukkes konstant afhængigt af varigheden. Under udførelsen af ​​opgaverne overvåges eksekvererne af et driverprogram. Eksekutører udfører brugernes opgave i java-processen.

3. Cluster Manager

Det hjælper med at styre de klynger, der har en master og antal slaver. Der er to typer klynghåndtere som YARN og enkeltstående begge styres af Resource Manager og Node. klyngearbejde på Stand-alone kræver Spark Master og arbejderknudepunkter som deres roller. Klyngemanagers ansvar er at allokere ressourcer og udføre opgaven,

4. Arbejderknudepunkter

De er slaveknudene; hovedansvaret er at udføre opgaverne, og output af dem returneres tilbage til gnistkonteksten. De kommunikerer med hovednoden om tilgængeligheden af ​​ressourcerne. Gnistkontekst udfører det og udsender til arbejderknudepunkterne. Hver arbejdsternoder er tildelt en gnistarbejder til overvågning. De foretager beregningen meget simpelt ved at øge arbejderknudepunkterne (1 til n ingen af ​​arbejdstagerne), så alle opgaver udføres parallelt ved at opdele jobbet i partitioner på flere systemer. Den anden elementopgave betragtes som en arbejdsenhed og tildeles en eksekutor, for hver partitionsgnist kører en opgave.

Konklusion

Ved at forstå Apache Spark Architecture betyder det derfor, hvordan man implementerer big data på en nem måde. I sidste ende har vi lært deres tilgængelighed og deres komponentroller, hvilket er meget gavnligt for klyngedata og big data-teknologi. Gnist beregner de ønskede resultater på en lettere måde og foretrækkes i batchbehandling.

Sparks karakteristiske træk som datasæt og datarammer hjælper med at optimere brugernes kode. En vigtig funktion som SQL-motor fremmer eksekveringshastighed og gør denne software alsidig. Derfor har vi set gnistapplikationer køre lokalt eller distribueres i en klynge. Apache Spark anses for at være et godt supplement i en lang række industrier som big data. Sammenfattende hjælper gnist med at løse høje beregningsopgaver.

Anbefalede artikler

Dette er en guide til Apache Spark Architecture. Her diskuterer vi introduktionen til Apache gnistarkitektur sammen med komponenterne og blokdiagrammet for Apache gnist. Du kan også gennemgå vores andre foreslåede artikler for at lære mere–

  1. Spark Shell-kommandoer
  2. Apache Hadoop økosystem
  3. Big Data Arkitektur
  4. Hvad er Apache

Kategori: