Introducere în Arhitectura Apache Spark

Acest articol definește conceptele de Apache Spark Architecture și componentele sale. Este considerată a fi o prelucrare a datelor de nivel înalt la Apache Software Foundation. Spark este în cele din urmă considerată a fi o altă posibilitate pentru Hadoop și Map Reduce.

Spark este o arhitectură open-source cu componente bine definite care ajută la analizarea unei cantități în cantitate mare de date și funcționează pentru calcularea distribuită. Spark este scris în Scala, cu funcții activate ca API-urile, R și are un set îmbogățit de biblioteci, ceea ce facilitează procesarea datelor. Apache Spark are calculul individual al clusterului pentru o accesibilitate mai rapidă și se execută în diferite platforme.

Apache Spark are o gamă largă de caracteristici precum procesarea rapidă a procesului de memorie mai rapidă, se adaptează la mai multe limbaje de programare, are tehnici îmbunătățite de memorie în cache și acceptă interogări SQL, învățare automată. Se rulează pe platforme precum sistemele de operare Microsoft Windows și Linux. Desfășurarea lor spune că ar putea rula și pe o singură mașină și în modul cluster.

Arhitectura Apache Spark

Scânteia Architecture of Apache are componente cuplate slab. Spark ia în considerare procesul principal / lucrător în arhitectură și toate sarcinile funcționează în partea de sus a sistemului de fișiere distribuit Hadoop. Scânteia Apache folosește Hadoop pentru procesarea datelor și procesele de stocare a datelor. Sunt considerate un motor de procesare a datelor în memorie și face ca aplicațiile lor să funcționeze pe clustere Hadoop mai repede decât o memorie. Având procesare în memorie previne eșecul I / O de disc. Spark permite ca munca eterogenă să lucreze cu aceleași date. Spark își împarte datele în partiții, dimensiunea partițiilor divizate depinde de sursa de date dată.

Mai jos sunt cele două implementări principale ale Arhitecturii Apache Spark:

1. Seturi de date distribuite rezistente (RDD)

Este responsabil pentru furnizarea API pentru controlul memoriei în cache și a compartimentării. Este un set de instrumente important pentru calcularea datelor. Ajută la recumpărarea elementelor în caz de eșec și considerate date imuabile și acționează ca o interfață. Transformările și acțiunile sunt cele două operațiuni efectuate de RDD.

2. Grafic Acyclic regizat (DAG)

Formează o conexiune de secvență de la un nod la altul. Driverul convertește programul în DAG pentru fiecare job. Ecosistemul Apache Spark are diferite componente precum API-ul de bază, Spark SQL, Streaming și procesare în timp real, MLIB și Graph X. Unele terminologii care trebuie învățate aici este shell-ul Spark care ajută la citirea volumelor mari de date, contextul Spark - anula, execută o lucrare, sarcină (o lucrare), job (calcul)

Componentele arhitecturii Apache Spark

Cele patru componente principale ale Spark sunt prezentate mai jos și este necesar să le înțelegem pentru cadrul complet.

  1. Spark Driver
  2. executori
  3. Manager de cluster
  4. Nodurile lucrătorului

Următoarea diagramă prezintă Arhitectura și Componentele scânteii:

Fig: Modul autonom al arhitecturii Apache Spark

Fluxul de execuție începe astfel:

1. Driver de scânteie

Responsabilitatea șoferului este de a coordona sarcinile și lucrătorii pentru management. Este un proces Application JVM și considerat ca un nod principal. Un șofer împarte scânteia în sarcini și planificări pentru a fi executat pe executanții din clustere. În diagrama, programele driverului invocă aplicația principală și creează un context de scânteie (acționează ca o poartă) monitorizează colectiv lucrarea care lucrează în clusterul dat și se conectează la un cluster Spark Toate funcționalitățile și comenzile sunt realizate prin contextul scânteie.

Contextul Spark este o intrare pentru fiecare sesiune. Spark driver are mai multe componente pentru a executa lucrări în cluster. Cluster-urile de scânteie se conectează la diferite tipuri de manageri de cluster și, în același timp, contextul achiziționează noduri de lucru pentru a executa și stoca date. În cluster, atunci când executăm procesul, munca lor este împărțită în etape cu etape de câștig în sarcini programate.

2. Executor

Este responsabil pentru executarea unei lucrări și stochează datele într-un cache. În faza inițială, executorii se înregistrează la șoferi. Acest executor are o serie de intervale de timp pentru a rula aplicația simultan. Executanții efectuează proces de citire / scriere pe surse externe. Executorul execută lucrarea atunci când a încărcat date și acestea sunt eliminate în modul inactiv. Executorul este activat prin alocare dinamică și sunt incluși și excluși constant în funcție de durata. În timpul executării sarcinilor, executanții sunt monitorizați de un program de driver. Executanții execută sarcina utilizatorilor în procesul java.

3. Manager Cluster

Ajută la gestionarea grupurilor care au un stăpân și un număr de sclavi. Există două tipuri de manageri de cluster precum YARN și autonom, ambele sunt gestionate de Resource Manager și Node. Lucrările în grupuri de sine stătătoare necesită Spark Master și nodul lucrător ca roluri. Responsabilitatea managerului clusterului este să aloce resurse și să execute sarcina,

4. Nodurile muncitorului

Sunt nodurile sclave; principala responsabilitate este de a executa sarcinile și ieșirea acestora este returnată în contextul scântei. Ei comunică cu nodul principal despre disponibilitatea resurselor. Contextul Spark îl execută și emite nodurile lucrătorului. Fiecărui nod lucrător li se atribuie câte un lucrator scânteie pentru monitorizare. Acestea fac calculul foarte simplu, prin creșterea nodurilor lucrătorului (1 la n nr de lucrători), astfel încât toate sarcinile să fie realizate paralel prin împărțirea lucrării în partiții pe mai multe sisteme. Cealaltă sarcină element este considerată a fi o unitate de lucru și atribuită unui singur executant, pentru fiecare scânteie partiție rulează o sarcină.

Concluzie

Prin urmare, înțelegând Arhitectura Apache Spark, înseamnă cum să implementați date mari într-o manieră ușoară. În cele din urmă, am învățat accesibilitatea și rolurile componentelor lor, care este foarte benefic pentru calculul clusterului și tehnologia de date mari. Spark calculează rezultatele dorite într-un mod mai ușor și preferat în procesarea lotului.

Caracteristicile distinctive ale Spark precum seturile de date și cadrele de date ajută la optimizarea codului utilizatorilor. O caracteristică importantă precum motorul SQL promovează viteza de execuție și face ca acest software să fie versatil. Prin urmare, am văzut că aplicațiile de scânteie rulează local sau distribuite într-un cluster. Apache Spark este considerat a fi un complement excelent într-o gamă largă de industrii, cum ar fi datele mari. Pentru a rezuma, scânteia ajută la rezolvarea sarcinilor de calcul înalte.

Articole recomandate

Acesta este un ghid pentru Arhitectura Apache Spark. Aici discutăm Introducerea Arhitecturii Apache Spark împreună cu componentele și diagrama bloc a Apache Spark. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. Comandele Spark Shell
  2. Ecosistemul Apache Hadoop
  3. Arhitectura Big Data
  4. Ce este Apache

Categorie: