Introduksjon til Apache Spark Architecture

Denne artikkelen definerer begrepene Apache Spark Architecture og dens komponenter. Det anses å være databehandlingen på toppnivå på Apache Software Foundation. Spark blir til slutt ansett for å være en annen mulighet for Hadoop og Map Reduce.

Spark er en åpen kildekode-arkitektur med veldefinerte komponenter som hjelper til med å analysere en stor mengde data og fungerer for distribuert databehandling. Spark er skrevet i Scala med aktiverte funksjoner som APIer, R og har beriket sett med biblioteker som gjør det lettere å utføre databehandling. Apache Spark har sin individuelle klyngedata for raskere tilgjengelighet og utføres på forskjellige plattformer.

Apache Spark har et bredt spekter av funksjoner som hurtigløp raskere i minneprosessen, tilpasser seg flere programmeringsspråk, har forbedrede hurtigbufringsteknikker og støtter SQL-spørsmål, maskinlæring. Det kjører på plattformene som Microsoft Windows og Linux operativsystemer. Distribusjonen deres sier at de også kan kjøre på en enkelt maskin og klyngemodus.

Apache gnistarkitektur

The Architecture of Apache spark har løst koblede komponenter. Spark vurderer master / arbeiderprosessen i arkitekturen og alle oppgavene fungerer på toppen av Hadoop distribuerte filsystem. Apache-gnist bruker Hadoop til databehandling og datalagringsprosesser. De regnes for å være databehandlingsmotor i minnet og gjør at applikasjonene deres kjører på Hadoop-klynger raskere enn et minne. Å ha prosessering i minnet forhindrer feil på disk I / O. Spark lar den heterogene jobben jobbe med de samme dataene. Spark deler opp dataene i partisjoner, størrelsen på de delte partisjonene avhenger av den gitte datakilden.

Nedenfor er de to viktigste implementeringene av Apache Spark Architecture:

1. Resilient Distribuerte datasett (RDD)

Det er ansvarlig for å tilby API for å kontrollere hurtigbufring og partisjonering. Det er et viktig verktøysett for databehandling. Det hjelper med å beregne elementer i tilfelle feil og anses som uforanderlige data og fungerer som et grensesnitt. Transformasjoner og handlinger er de to operasjonene som blir utført av RDD.

2. Directed Acyclic Graph (DAG)

Den danner en sekvensforbindelse fra en node til en annen. Driveren konverterer programmet til DAG for hver jobb. Apache Spark Eco-system har forskjellige komponenter som API-kjerne, Spark SQL, streaming og sanntidsbehandling, MLIB og Graph X. Noen terminologier som kan læres her er Spark shell som hjelper deg med å lese store datamengder, gnistkontekst - avbryt, kjør en jobb, oppgave (et arbeid), jobb (beregning)

Komponenter av Apache Spark Architecture

De fire hovedkomponentene i Spark er gitt nedenfor, og det er nødvendig å forstå dem for det komplette rammeverket.

  1. Gnistdriver
  2. arvtakere
  3. Klyngesjef
  4. Arbeidernoder

Følgende diagram viser gnistens arkitektur og komponenter:

Fig: Frittstående modus for Apache Spark Architecture

Utførelsesflyten begynner som følger:

1. Gnistdriver

Sjåførens ansvar er å koordinere oppgavene og arbeiderne for ledelsen. Det er en Application JVM-prosess og betraktes som en hovednode. En sjåfør deler gnisten i oppgaver og planer for å utføre på eksekutører i klyngene. I diagrammet påkaller driverprogrammene hovedprogrammet og oppretter en gnistkontekst (fungerer som en gateway) overvåker samlet jobben som arbeider innenfor den gitte klyngen og kobler til en gnistklynge. Alle funksjonalitetene og kommandoene gjøres gjennom gnistkonteksten.

Gnistkontekst er en oppføring for hver økt. Spark driver har flere komponenter for å utføre jobber i klyngene. Gnistklynger blir koblet til forskjellige typer klyngestyrer og samtidig skaffer kontekst arbeidstakernoder for å utføre og lagre data. I klyngen, når vi utfører prosessen, blir jobben deres delt inn i etapper med gevinstfaser i planlagte oppgaver.

2. Eksekutor

Det er ansvarlig for utførelsen av en jobb og lagrer data i en cache. På det første stadiet registrerer eksekutører hos driverne. Denne utføreren har en rekke tidsluker for å kjøre applikasjonen samtidig. Eksekutører utfører lese / skriveprosess på eksterne kilder. Eksekutoren kjører jobben når den har lastet inn data og de er fjernet i hvilemodus. Eksekutoren er aktivert ved dynamisk tildeling, og de blir kontinuerlig inkludert og ekskludert avhengig av varighet. Under utførelsen av oppgavene overvåkes eksekutørene av et driverprogram. Eksekutører utfører brukernes oppgave i java-prosessen.

3. Cluster Manager

Det hjelper med å håndtere klyngene som har en master og antall slaver. Det er to typer klyngestyrer som YARN og frittstående. Disse administreres av Resource Manager og Node. klyngearbeid på frittstående krever Spark Master og arbeidernode som sine roller. Klyngesjefens ansvar er å fordele ressurser og å utføre oppgaven,

4. Arbeidernoder

De er slaveknutene; hovedansvaret er å utføre oppgavene, og resultatet fra dem blir returnert tilbake til gnistkonteksten. De kommuniserer med hovednoden om tilgjengeligheten av ressursene. Gnistkontekst kjører den og sender ut til arbeiderknudene. Hver arbeidernoder er tildelt én gnistarbeider for overvåking. De gjør beregningen veldig enkelt ved å øke arbeiderknudene (1 til ingen antall arbeidere) slik at alle oppgavene utføres parallelt ved å dele jobben i partisjoner på flere systemer. Den andre elementoppgaven anses å være en arbeidsenhet og tilordnet en utfører, for hver partisjonsgnist kjører en oppgave.

Konklusjon

Ved å forstå Apache Spark Architecture betyr det derfor hvordan du implementerer big data på en enkel måte. Til syvende og sist har vi lært deres tilgjengelighet og deres komponenter roller, noe som er veldig gunstig for klyngedata og big data-teknologi. Gnist beregner de ønskede resultatene på en enklere måte og foretrekkes i batchbehandling.

Sparks særegne funksjoner som datasett og datarammer er med på å optimalisere brukernes kode. En viktig funksjon som SQL-motor fremmer utføringshastighet og gjør denne programvaren allsidig. Derfor har vi sett gnistapplikasjoner kjørt lokalt eller distribuert i en klynge. Apache Spark anses å være et flott supplement i en lang rekke bransjer som big data. For å oppsummere, hjelper gnist med å løse høye beregningsoppgaver.

Anbefalte artikler

Dette er en guide til Apache Spark Architecture. Her diskuterer vi Introduksjon til Apache Spark Architecture sammen med komponentene og blokkskjemaet til Apache Spark. Du kan også gå gjennom de andre foreslåtte artiklene våre for å lære mer–

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

Kategori: