Peste 15 întrebări și răspunsuri la interviu Apache Spark 2022
Publicat: 2021-01-08Oricine este familiarizat cu Apache Spark știe de ce acesta devine unul dintre cele mai preferate instrumente pentru Big Data astăzi - permite calcularea super-rapidă.
Faptul că Spark acceptă procesarea rapidă a Big Data îl face un succes pentru companiile din întreaga lume. De la nume mari precum Amazon, Alibaba, eBay și Yahoo, până la firme mici din industrie, Spark a câștigat o mulțime de fani. Datorită acestui fapt, companiile caută în permanență profesioniști calificați în Big Data cu expertiză în domeniu în Spark.
Pentru toți cei care doresc să obțină locuri de muncă legate de un profil Big Data (Spark), trebuie mai întâi să rezolvați cu succes interviul Spark. Iată ceva care te poate aduce cu un pas mai aproape de obiectivul tău – 15 cele mai frecvente întrebări la interviu Apache Spark!
- Ce este Spark?
Spark este un cadru open-source, de calcul în cluster, Big Data, care permite procesarea în timp real. Este un motor de procesare a datelor de uz general care este capabil să gestioneze diferite sarcini de lucru, cum ar fi lot, interactiv, iterativ și streaming. Spark execută calcule în memorie care ajută la creșterea vitezei de procesare a datelor. Poate rula autonom, sau pe Hadoop sau în cloud.
- Ce este RDD?
RDD sau Resilient Distributed Dataset este structura de date primară a Spark. Este o abstractizare esențială în Spark care reprezintă intrarea datelor într-un format obiect. RDD este o colecție imuabilă de obiecte numai în citire, în care fiecare nod este împărțit în părți mai mici care pot fi calculate pe diferite noduri ale unui cluster pentru a permite procesarea independentă a datelor.
- Faceți diferența între Apache Spark și Hadoop MapReduce.
Principalii diferențieri dintre Apache Spark și Hadoop MapReduce sunt:

- Spark este mai ușor de programat și nu necesită abstracții. MapReduce este scris în Java și este dificil de programat. Are nevoie de abstracții.
- Spark are un mod interactiv, în timp ce MapReduce îi lipsește. Cu toate acestea, instrumente precum Pig și Hive facilitează lucrul cu MapReduce.
- Spark permite procesarea în lot, streaming și învățarea automată în cadrul aceluiași cluster. MapReduce este cel mai potrivit pentru procesarea în loturi.
- Spark poate modifica datele în timp real prin Spark Streaming. Nu există o astfel de prevedere în timp real în MapReduce – puteți procesa doar un lot de date stocate.
- Spark facilitează calculele cu latență scăzută prin memorarea rezultatelor parțiale în memorie. Acest lucru necesită mai mult spațiu de memorie. Dimpotrivă, MapReduce este orientat pe disc, ceea ce permite stocarea permanentă.
- Deoarece Spark poate executa sarcini de procesare în memorie, poate procesa datele mult mai rapid decât MapReduce.
- Ce este vectorul rar?
Un vector rar constă din două rețele paralele, unul pentru indici și celălalt pentru valori. Sunt folosite pentru stocarea intrărilor diferite de zero pentru a economisi spațiu de memorie.
- Ce este partiționarea în Spark?
Partiționarea este folosită pentru a crea unități de date mai mici și logice pentru a ajuta la accelerarea procesării datelor. În Spark, totul este un RDD partiționat. Partițiile paralelizează procesarea distribuită a datelor cu trafic de rețea minim pentru trimiterea datelor către diferiții executanți din sistem.
- Definiți Transformarea și Acțiunea.
Atât Transformarea, cât și Acțiunea sunt operațiuni executate în cadrul unui RDD.
Când funcția de transformare este aplicată unui RDD, se creează un alt RDD. Două exemple de transformare sunt map() și filer() – în timp ce map() aplică funcția transferată acestuia pe fiecare element al RDD și creează un alt RDD, filter() creează un nou RDD selectând componente din RDD actual care transferă argumentul funcției. Este declanșat numai atunci când are loc o Acțiune.
O acțiune preia datele din RDD pe mașina locală. Declanșează execuția utilizând un grafic de descendență pentru a încărca datele în RDD-ul original, pentru a efectua toate transformările intermediare și pentru a returna rezultatele finale în programul Driver sau pentru a le scrie în sistemul de fișiere.
- Ce este un grafic de linie?
În Spark, RDD-urile depind unul de celălalt. Reprezentarea grafică a acestor dependențe între RDD-uri se numește grafic de descendență. Cu informații din graficul de descendență, fiecare RDD poate fi calculat la cerere - dacă se pierde vreodată o bucată dintr-un RDD persistent, datele pierdute pot fi recuperate folosind informațiile din graficul de descendență.

- Care este scopul SparkCore?
SparkCore este motorul de bază al Spark. Îndeplinește o serie de funcții vitale, cum ar fi toleranța la erori, gestionarea memoriei, monitorizarea lucrărilor, programarea lucrărilor și interacțiunea cu sistemele de stocare.
- Numiți bibliotecile majore ale ecosistemului Spark.
Bibliotecile majore din ecosistemul Spark sunt:
- Spark Streaming – Este folosit pentru a activa fluxul de date în timp real.
- Spark MLib- Este biblioteca de învățare automată a lui Spark, care este folosiți în mod obișnuit algoritmi de învățare precum clasificarea, regresia, gruparea etc.
- Spark SQL – Ajută la executarea de interogări asemănătoare SQL pe datele Spark prin aplicarea instrumentelor standard de vizualizare sau de business intelligence.
- Spark GraphX – Este un API Spark pentru procesarea graficelor pentru a dezvolta și transforma grafice interactive.
- Ce este YARN? Este necesar să instalați Spark pe toate nodurile unui cluster YARN?
Yarn este o platformă centrală de gestionare a resurselor în Spark. Acesta permite livrarea de operațiuni scalabile în clusterul Spark. În timp ce Spark este instrumentul de procesare a datelor, YARN este managerul de containere distribuit. Așa cum Hadoop MapReduce poate rula pe YARN, și Spark poate rula pe YARN.
Nu este necesar să instalați Spark pe toate nodurile unui cluster YARN, deoarece Spark se poate executa peste YARN - rulează independent de instalarea acestuia. De asemenea, include diferite configurații pentru a rula pe YARN, cum ar fi master, coada, modul de implementare, memorie driver, memorie executor și nuclee executor.
- Ce este Cadrul Catalyst?
Cadrul Catalyst este un cadru unic de optimizare în Spark SQL. Scopul principal al unui cadru catalizator este de a permite Spark să transforme automat interogările SQL prin adăugarea de noi optimizări pentru a dezvolta un sistem de procesare mai rapid.
- Care sunt diferitele tipuri de manageri de cluster în Spark?
Cadrul Spark cuprinde trei tipuri de manageri de cluster:
- Standalone – Managerul principal folosit pentru a configura un cluster.
- Apache Mesos – Managerul de cluster generalizat încorporat al Spark care poate rula Hadoop MapReduce și alte aplicații.
- Yarn – Managerul de cluster pentru gestionarea gestionării resurselor în Hadoop.
- Ce este un nod lucrător?
Worker Node este „nodul slave” pentru nodul principal. Se referă la orice nod care poate rula codul aplicației într-un cluster. Deci, nodul principal atribuie lucru nodurilor de lucru care îndeplinesc sarcinile atribuite. Nodurile de lucru procesează datele stocate în interior și apoi raportează la nodul principal.

- Ce este un Spark Executor?
Un Spark Executor este un proces care rulează calcule și stochează datele în nodul de lucru. De fiecare dată când SparkContext se conectează cu un manager de cluster, acesta dobândește un Executor pe nodurile dintr-un cluster. Acești executori execută sarcinile finale care le sunt atribuite de SparkContext.
- Ce este un fișier Parquet?
Fișierul Parquet este un fișier în format coloană care permite Spark SQL să citească și să scrie operațiuni. Folosirea fisei de parchet (format coloane) are multe avantaje:
- Formatul de stocare pe coloană consumă mai puțin spațiu.
- Formatul de stocare pe coloană ține sub control operațiunile IO.
- Vă permite să accesați cu ușurință anumite coloane.
- Urmează codificarea specifică tipului și oferă date mai bine rezumate.
Acolo – te-am ușurat în Spark. Aceste 15 concepte fundamentale din Spark vă vor ajuta să începeți cu Spark.
Dacă sunteți interesat să aflați mai multe despre Big Data, consultați programul nostru PG Diploma în Dezvoltare Software Specializare în Big Data, care este conceput pentru profesioniști care lucrează și oferă peste 7 studii de caz și proiecte, acoperă 14 limbaje și instrumente de programare, practică practică. ateliere de lucru, peste 400 de ore de învățare riguroasă și asistență pentru plasarea unui loc de muncă cu firme de top.
Consultați celelalte cursuri ale noastre de inginerie software la upGrad.