Introduktion till Apache Spark Architecture

Den här artikeln definierar begreppen Apache Spark Architecture och dess komponenter. Det anses vara en databehandling på toppnivå på Apache Software Foundation. Spark anses i slutändan vara en annan möjlighet för Hadoop och Map Reduce.

Spark är en öppen källkodsarkitektur med väldefinierade komponenter som hjälper till att analysera en stor mängd data och fungerar för distribuerad datoranvändning. Spark är skriven i Scala med aktiverade funktioner som API: er, R och har berikat uppsättning bibliotek som gör det enklare att utföra databehandling. Apache Spark har sin individuella klusterberäkning för snabbare tillgänglighet och körs i olika plattformar.

Apache Spark har ett brett utbud av funktioner som snabbare körning snabbare i minnet, anpassar sig till flera programmeringsspråk, har förbättrade cachingtekniker och stöder SQL-frågor, maskininlärning. Det körs på plattformar som Microsoft Windows och Linux operativsystem. Deras distribution säger att de kunde köras på en enda maskin och klusterläge också.

Apache Spark Architecture

Architecture of Apache spark har löst kopplade komponenter. Spark överväga master- / arbetarprocessen i arkitekturen och alla uppgifter fungerar på toppen av Hadoop distribuerade filsystem. Apache-gnist använder Hadoop för databehandling och datalagringsprocesser. De anses vara databehandlingsmotorer i minnet och gör att deras applikationer körs på Hadoop-kluster snabbare än ett minne. Att ha bearbetning i minnet förhindrar fel I / O-skivan. Spark tillåter det heterogena jobbet att arbeta med samma data. Spark delar upp sina data i partitioner, storleken på delade partitioner beror på den givna datakällan.

Nedan visas de två huvudimplementeringarna av Apache Spark Architecture:

1. Resilient Distribuerade databaser (RDD)

Det ansvarar för att tillhandahålla API för att kontrollera caching och partitionering. Det är en viktig verktygssats för databehandling. Det hjälper till att beräkna element i händelse av misslyckanden och anses vara oföränderlig data och fungerar som ett gränssnitt. Transformationer och åtgärder är de två operationerna som utförs av RDD.

2. Riktad Acyclic Graph (DAG)

Det bildar en sekvensanslutning från en nod till en annan. Föraren konverterar programmet till DAG för varje jobb. Apache Spark Eco-system har olika komponenter som API-kärna, Spark SQL, Streaming och realtidsbehandling, MLIB och Graph X. Vissa terminologier som man kan lära sig här är gnisterskal som hjälper till att läsa stora datamängder, gnistkontekst - avbryta, köra ett jobb, uppgift (ett arbete), jobb (beräkning)

Komponenter i Apache Spark Architecture

De fyra huvudkomponenterna i gnista ges nedan och det är nödvändigt att förstå dem för hela ramverket.

  1. Gnistdrivare
  2. testamentsexekutorer
  3. Cluster manager
  4. Arbetarnoder

Följande diagram visar gnistens arkitektur och komponenter:

Fig: Fristående läge för Apache Spark Architecture

Utföringsflödet börjar enligt följande:

1. Gnistdrivrutin

Förarens ansvar är att samordna uppgifterna och arbetarna för ledningen. Det är en applikations JVM-process och betraktas som en huvudnod. En förare delar gnistan i uppgifter och scheman för att utföra på exekutörer i klustren. I diagrammet åkallar drivrutinerna till huvudapplikationen och skapar en gnistkontext (fungerar som en gateway) övervakar kollektivt jobbet som arbetar inom det givna klustret och ansluter till ett gnistkluster. Alla funktionaliteter och kommandon görs genom gnistkontexten.

Gnistkontext är en post för varje session. Gnistdrivrutinen har fler komponenter för att köra jobb i klustren. Gnistkluster ansluts till olika typer av klusterhanterare och samtidigt förvärvar kontext arbetstagarnoder för att köra och lagra data. I klustret, när vi utför processen, delas deras jobb upp i steg med förstärkningssteg i schemalagda uppgifter.

2. Exekutor

Det är ansvarigt för utförandet av ett jobb och lagrar data i en cache. I det allra första stadiet registrerar exekutörer med drivrutinerna. Denna exekutiv har ett antal tidsluckor för att köra applikationen samtidigt. Exekutorer utför läs- / skrivprocess på externa källor. Exekutorn kör jobbet när den har laddat data och de tas bort i viloläge. Exekutorn aktiveras av dynamisk allokering och de inkluderas och utesluts hela tiden beroende på varaktighet. Under utförandet av uppgifterna övervakas exekutorerna av ett drivprogram. Exekutorer kör användarens uppgift i java-processen.

3. Cluster Manager

Det hjälper till att hantera kluster som har en befälhavare och antal slavar. Det finns två typer av klusterhanterare som YARN och fristående båda dessa hanteras av Resource Manager och Node. klusterarbete på fristående kräver Spark Master och arbetarnod som sina roller. Klynghanterarens ansvar är att fördela resurser och att utföra uppgiften,

4. Arbetarnoder

De är slavnoderna; huvudansvaret är att utföra uppgifterna och utdata från dem återförs till gnistkontexten. De kommunicerar med huvudnoden om tillgången på resurser. Gnistkontext exekverar det och skickar till arbetarnas noder. Varje arbetarnoder tilldelas en gnistarbetare för övervakning. De gör beräkningen mycket enkelt genom att öka arbetarnoderna (1 till n ingen av arbetarna) så att alla uppgifter utförs parallellt genom att dela upp jobbet i partitioner på flera system. Den andra elementuppgiften anses vara en arbetsenhet och tilldelas en exekutör, för varje partitionsgnist körs en uppgift.

Slutsats

Genom att förstå Apache Spark Architecture betyder det därför hur man implementerar big data på ett enkelt sätt. I slutändan har vi lärt oss deras tillgänglighet och deras roller, vilket är mycket fördelaktigt för klusterdatorer och big data-teknik. Spark beräkna de önskade resultaten på ett enklare sätt och föredras vid batchbehandling.

Sparks särdrag som datasätt och dataramar hjälper till att optimera användarnas kod. En viktig funktion som SQL-motor främjar körhastighet och gör denna programvara mångsidig. Därför har vi sett gnistapplikationer köras lokalt eller distribueras i ett kluster. Apache Spark anses vara ett bra komplement i ett brett spektrum av branscher som big data. Sammanfattningsvis hjälper gnist att lösa höga beräkningsuppgifter.

Rekommenderade artiklar

Detta är en guide till Apache Spark Architecture. Här diskuterar vi introduktionen till Apache Spark Architecture tillsammans med komponenterna och blockschemat för Apache Spark. Du kan också gå igenom våra andra artiklar som föreslås för att lära dig mer–

  1. Spark Shell-kommandon
  2. Apache Hadoop ekosystem
  3. Big Data Arkitektur
  4. Vad är Apache

Kategori: