Prezentare generală a componentelor Spark

Imaginați-vă că aveți 1000 de sarcini la îndemână și foarte puțin timp pentru a le finaliza pe toate. Cineva vă oferă ajutor prin furnizarea de resurse care pot lua unele sarcini de pe mâna dvs. și le face în paralel cu dvs., astfel încât toate sarcinile să fie finalizate la timp. Că cineva este Spark pentru tine în sens informatic. Apache Spark este un cadru de calcul cluster open-source și distribuit pentru Big Data și oferă o abordare optimizată pentru efectuarea de analize pe seturi de date mari. Funcționează de 100 de ori mai rapid decât Hadoop și oferă diferite biblioteci în scopuri diferite, cum ar fi efectuarea operațiunilor SQL, ML, Streaming, procesare grafică, etc. Mai jos vom vedea în detaliu diferitele componente ale scânteii.

Componenți de top ai Spark

În prezent, avem 6 componente în Spark Ecosystem care sunt Spark Core, Spark SQL, Spark Streaming, Spark MLlib, Spark GraphX ​​și SparkR. Să vedem ce fac fiecare din aceste componente.

1. Spark Core

Spark Core este, după cum sugerează și numele, unitatea principală a unui proces Spark. Are grijă de planificarea sarcinilor, recuperarea erorilor, gestionarea memoriei și operațiunile de intrare-ieșire, etc. Gândiți-vă la el ca la ceva asemănător cu procesorul unui computer. Suportă limbaje de programare precum Java, Scala, Python și R și oferă API-uri pentru limbile respective, folosindu-te de care poți să îți creezi jobul ETL sau să faci analize. Toate celelalte componente ale Spark au propriile lor API care sunt construite pe Spark Core. Datorită capacităților sale de procesare paralelă și de calcul în memorie, Spark poate gestiona orice fel de sarcină.

Spark Core vine cu un tip special de structură de date numită RDD (Resilient Distributed Dataset) care distribuie datele pe toate nodurile dintr-un cluster. RDD-urile funcționează pe o paradigmă de evaluare leneșă în care calculul este memorat și executat numai atunci când este necesar. Acest lucru ajută la optimizarea procesului doar prin calcularea obiectelor necesare.

2. Spark SQL

Dacă ați lucrat cu baze de date, înțelegeți importanța SQL. Nu ar fi extrem de copleșitor dacă același cod SQL funcționează de N ori mai repede chiar și pe un set de date mai mare? Spark SQL vă ajută să manipulați datele de pe Spark folosind SQL. Acceptă conexiuni JDBC și ODBC care stabilesc o relație între obiectele Java și bazele de date existente, depozitele de date și instrumentele de informații de afaceri. Spark încorporează ceva numit Dataframes, care sunt colectate structurate de date sub formă de coloane și rânduri.

Spark vă permite să lucrați la aceste date cu SQL. Ferestrele de date sunt echivalente cu tabelele relaționale și pot fi construite din orice baze de date externe, fișiere structurate sau RDD-uri deja existente. Ferestrele de date au toate caracteristicile RDD, cum ar fi imuabile, rezistente, în memorie, dar cu o caracteristică suplimentară de a fi structurate și ușor de lucrat. API-ul Dataframe este de asemenea disponibil în Scala, Python, R și Java.

3. Spark Streaming

Data Streaming este o tehnică în care este procesat un flux continuu de date în timp real. Necesită un cadru care oferă o latență scăzută pentru analiză. Spark Streaming asigură asta și, de asemenea, un debit mare, tolerant la erori și scalabilă API pentru procesarea datelor în timp real. Este rezumat pe fluxul discretizat (DStream) care reprezintă un flux de date împărțit în loturi mici. DStream este construit pe RDD, făcând ca Spark Streaming să funcționeze perfect cu alte componente scânteie. Unii dintre cei mai notabili utilizatori ai Spark.

Transmiterea este Netflix, Pinterest și Uber. Spark Streaming poate fi integrat cu Apache Kafka, care este o platformă de decuplare și de tamponare a fluxurilor de intrare. Kafka acționează ca hub central pentru fluxurile în timp real care sunt procesate folosind algoritmi în Spark Streaming.

4. Spark MLLib

Atracția majoră a Spark este extinderea masivă a calculului și această caracteristică este cea mai importantă cerință pentru orice proiect de învățare automată. Spark MLLib este componenta de învățare automată a Spark care conține algoritmi de învățare automată cum ar fi clasificare, regresie, clustering și filtrare colaborativă. De asemenea, oferă un loc pentru extragerea caracteristicilor, reducerea dimensionalității, transformarea etc.

De asemenea, vă puteți salva modelele și le puteți rula pe seturi de date mai mari, fără a fi nevoie să vă faceți griji în ceea ce privește dimensionarea problemelor. De asemenea, conține utilități pentru algebra liniară, statistici și gestionarea datelor. Datorită procesării în memorie a lui Spark, toleranței la erori, scalabilității și ușurinței programării, cu ajutorul acestei biblioteci puteți rula algoritmii iterativi ML cu ușurință.

5. GraphX

Graficul Analytics determină practic relațiile dintre obiecte dintr-un grafic, de exemplu, cea mai scurtă distanță între două puncte. Acest lucru este optimizarea traseului. Spark GraphX ​​API ajută în calculul grafic și în paralel grafic. Simplifică analiza grafică și o face mai rapidă și mai fiabilă. Una dintre principalele și cunoscute aplicații ale analitice grafice este Google Maps.

Acesta află distanța dintre două locații și oferă o sugestie optimă de rută. Un alt exemplu poate fi sugestiile prietenului Facebook. GraphX ​​funcționează atât cu grafice, cât și cu calcule. Spark oferă o serie de algoritmi de grafic, cum ar fi rangul paginii, componente conectate, propagarea etichetelor, SVD ++, componente puternic conectate și număr de triunghiuri.

6. SparkR

R este cel mai utilizat limbaj statistic care cuprinde mai mult de 10.000 de pachete pentru scopuri diferite. A folosit API-ul cadrelor de date, ceea ce face convenabil să lucreze și oferă, de asemenea, vizualizări puternice pentru oamenii de știință de date pentru a analiza datele lor în detaliu. Cu toate acestea, R nu suportă procesarea paralelă și este limitat la cantitatea de memorie disponibilă într-o singură mașină. Aici intervine SparkR în imagine.

Spark a dezvoltat un pachet cunoscut sub numele de SparkR, care rezolvă problema scalabilității R. Acesta se bazează pe cadre de date distribuite și oferă, de asemenea, aceeași sintaxă ca motorul de procesare distribuit al lui R. Spark și interactivitatea, pachetele, vizualizarea fără egal a lui R, care se combină pentru a oferi oamenilor de știință de date ce vor pentru analizele lor.

Concluzie

Întrucât Spark este un cadru de uz general, se regăsește într-o gamă largă de aplicații. Spark este utilizat pe scară largă în majoritatea aplicațiilor de date mari datorită performanței și fiabilității sale. Toate aceste componente ale Spark se actualizează cu noi funcții în fiecare versiune nouă și ne fac viața mai ușoară.

Articole recomandate

Acesta este un ghid pentru componentele Spark. Aici vom discuta imaginea de ansamblu și cele mai bune 6 componente ale scânteii cu o explicație detaliată. De asemenea, puteți consulta următoarele articole pentru a afla mai multe -

  1. Top 5 alternative importante pentru stupi
  2. Componente / instrumente Talend Open Studio
  3. Top 6 componente ale IoT Ecosystem
  4. Ce este integrarea Talend Data cu beneficiile?

Categorie: