Über 15 Fragen und Antworten zu Apache Spark-Interviews 2022

Veröffentlicht: 2021-01-08

Jeder, der mit Apache Spark vertraut ist, weiß, warum es heute zu einem der beliebtesten Big-Data-Tools wird – es ermöglicht superschnelle Berechnungen.

Die Tatsache, dass Spark die schnelle Verarbeitung von Big Data unterstützt, macht es zu einem Hit bei Unternehmen weltweit. Von großen Namen wie Amazon, Alibaba, eBay und Yahoo bis hin zu kleinen Firmen in der Branche hat Spark eine enorme Fangemeinde gewonnen. Aus diesem Grund suchen Unternehmen ständig nach qualifizierten Big-Data-Experten mit Fachkenntnissen in Spark.

Für alle, die Jobs im Zusammenhang mit einem Big Data (Spark)-Profil ergattern möchten, müssen Sie zuerst das Spark-Interview erfolgreich knacken. Hier ist etwas, das Sie Ihrem Ziel einen Schritt näher bringen kann – die 15 am häufigsten gestellten Fragen zu Apache Spark-Interviews!

  1. Was ist Spark?

Spark ist ein Open-Source-Cluster-Computing-Big-Data-Framework, das Echtzeitverarbeitung ermöglicht. Es handelt sich um eine Allzweck-Datenverarbeitungs-Engine, die verschiedene Workloads wie Batch, Interaktiv, Iterativ und Streaming verarbeiten kann. Spark führt In-Memory-Berechnungen durch, die dazu beitragen, die Geschwindigkeit der Datenverarbeitung zu erhöhen. Es kann eigenständig, auf Hadoop oder in der Cloud ausgeführt werden.

  1. Was ist RDD?

RDD oder Resilient Distributed Dataset ist die primäre Datenstruktur von Spark. Es ist eine wesentliche Abstraktion in Spark, die die Dateneingabe in einem Objektformat darstellt. RDD ist eine schreibgeschützte, unveränderliche Sammlung von Objekten, in der jeder Knoten in kleinere Teile partitioniert ist, die auf verschiedenen Knoten eines Clusters berechnet werden können, um eine unabhängige Datenverarbeitung zu ermöglichen.

  1. Unterscheiden Sie zwischen Apache Spark und Hadoop MapReduce.

Die wichtigsten Unterscheidungsmerkmale zwischen Apache Spark und Hadoop MapReduce sind:

  • Spark ist einfacher zu programmieren und erfordert keine Abstraktionen. MapReduce ist in Java geschrieben und schwer zu programmieren. Es braucht Abstraktionen.
  • Spark hat einen interaktiven Modus, während MapReduce ihn nicht hat. Tools wie Pig und Hive erleichtern jedoch die Arbeit mit MapReduce.
  • Spark ermöglicht Stapelverarbeitung, Streaming und maschinelles Lernen innerhalb desselben Clusters. MapReduce eignet sich am besten für die Stapelverarbeitung.
  • Spark kann die Daten in Echtzeit über Spark Streaming ändern. In MapReduce gibt es keine solche Echtzeitbereitstellung – Sie können nur einen Stapel gespeicherter Daten verarbeiten.
  • Spark ermöglicht Berechnungen mit geringer Latenz, indem Teilergebnisse im Arbeitsspeicher zwischengespeichert werden. Dies erfordert mehr Speicherplatz. Im Gegensatz dazu ist MapReduce festplattenorientiert, was eine dauerhafte Speicherung ermöglicht.
  • Da Spark Verarbeitungsaufgaben im Speicher ausführen kann, kann es Daten viel schneller verarbeiten als MapReduce.
  1. Was ist der Sparse-Vektor?

Ein Sparse-Vektor besteht aus zwei parallelen Arrays, eines für Indizes und das andere für Werte. Sie werden zum Speichern von Nicht-Null-Einträgen verwendet, um Speicherplatz zu sparen.

  1. Was ist Partitionierung in Spark?

Die Partitionierung wird verwendet, um kleinere und logische Dateneinheiten zu erstellen, um die Datenverarbeitung zu beschleunigen. In Spark ist alles ein partitioniertes RDD. Partitionen parallelisieren die verteilte Datenverarbeitung mit minimalem Netzwerkverkehr zum Senden von Daten an die verschiedenen Ausführenden im System.

  1. Definieren Sie Transformation und Aktion.

Sowohl Transformation als auch Aktion sind Operationen, die innerhalb eines RDD ausgeführt werden.

Wenn die Transformationsfunktion auf ein RDD angewendet wird, erstellt sie ein weiteres RDD. Zwei Beispiele für Transformationen sind map() und filer() – während map() die ihm übergebene Funktion auf jedes Element von RDD anwendet und ein weiteres RDD erstellt, erstellt filter() ein neues RDD, indem es Komponenten aus dem vorhandenen RDD auswählt, die die übertragen Funktionsargument. Es wird nur ausgelöst, wenn eine Aktion auftritt.

Eine Aktion ruft die Daten von RDD auf dem lokalen Computer ab. Es löst die Ausführung aus, indem es einen Herkunftsgraphen verwendet, um die Daten in das ursprüngliche RDD zu laden, alle Zwischentransformationen durchzuführen und die Endergebnisse an das Treiberprogramm zurückzugeben oder in das Dateisystem zu schreiben.

  1. Was ist ein Liniendiagramm?

In Spark sind die RDDs voneinander abhängig. Die grafische Darstellung dieser Abhängigkeiten zwischen den RDDs wird als Herkunftsdiagramm bezeichnet. Mit Informationen aus dem Herkunftsdiagramm kann jede RDD bei Bedarf berechnet werden – wenn jemals ein Teil einer persistenten RDD verloren geht, können die verlorenen Daten mithilfe der Informationen aus dem Herkunftsdiagramm wiederhergestellt werden.

  1. Was ist der Zweck des SparkCore?

SparkCore ist die Basis-Engine von Spark. Es führt eine Vielzahl wichtiger Funktionen wie Fehlertoleranz, Speicherverwaltung, Jobüberwachung, Jobplanung und Interaktion mit Speichersystemen aus.

  1. Nennen Sie die wichtigsten Bibliotheken des Spark-Ökosystems.

Die wichtigsten Bibliotheken im Spark-Ökosystem sind:

  • Spark Streaming – Es wird verwendet, um Echtzeit-Datenstreaming zu ermöglichen.
  • Spark MLib – Es ist die Spark-Bibliothek für maschinelles Lernen, die häufig verwendete Lernalgorithmen wie Klassifizierung, Regression, Clustering usw. enthält.
  • Spark SQL – Es hilft bei der Ausführung von SQL-ähnlichen Abfragen auf Spark-Daten durch Anwendung von Standard-Visualisierungs- oder Business-Intelligence-Tools.
  • Spark GraphX ​​– Es ist eine Spark-API für die Diagrammverarbeitung zum Entwickeln und Transformieren interaktiver Diagramme.
  1. Was ist GARN? Muss Spark auf allen Knoten eines YARN-Clusters installiert werden?

Yarn ist eine zentrale Ressourcenverwaltungsplattform in Spark. Es ermöglicht die Bereitstellung skalierbarer Vorgänge im gesamten Spark-Cluster. Während Spark das Datenverarbeitungstool ist, ist YARN der verteilte Container-Manager. So wie Hadoop MapReduce auf YARN laufen kann, kann auch Spark auf YARN laufen.

Es ist nicht erforderlich, Spark auf allen Knoten eines YARN-Clusters zu installieren, da Spark auf YARN ausgeführt werden kann – es läuft unabhängig von seiner Installation. Es enthält auch verschiedene Konfigurationen für die Ausführung auf YARN, wie z. B. Master, Warteschlange, Bereitstellungsmodus, Treiberspeicher, Executor-Speicher und Executor-Kerne.

  1. Was ist das Catalyst-Framework?

Das Catalyst-Framework ist ein einzigartiges Optimierungsframework in Spark SQL. Der Hauptzweck eines Katalysator-Frameworks besteht darin, Spark in die Lage zu versetzen, SQL-Abfragen automatisch umzuwandeln, indem neue Optimierungen hinzugefügt werden, um ein schnelleres Verarbeitungssystem zu entwickeln.

  1. Was sind die verschiedenen Arten von Cluster-Managern in Spark?

Das Spark-Framework umfasst drei Arten von Cluster-Managern:

  1. Eigenständig – Der primäre Manager, der zum Konfigurieren eines Clusters verwendet wird.
  2. Apache Mesos – Der integrierte, generalisierte Cluster-Manager von Spark, der auch Hadoop MapReduce und andere Anwendungen ausführen kann.
  3. Yarn – Der Cluster-Manager zur Abwicklung des Ressourcenmanagements in Hadoop.
  1. Was ist ein Worker-Knoten?

Der Worker-Knoten ist der „Slave-Knoten“ des Master-Knotens. Er bezieht sich auf jeden Knoten, der den Anwendungscode in einem Cluster ausführen kann. Der Master-Knoten weist also Arbeit den Worker-Knoten zu, die die zugewiesenen Aufgaben ausführen. Worker-Knoten verarbeiten die darin gespeicherten Daten und berichten dann an den Master-Knoten.

  1. Was ist ein Spark-Executor?

Ein Spark-Executor ist ein Prozess, der Berechnungen ausführt und die Daten im Worker-Knoten speichert. Jedes Mal, wenn der SparkContext eine Verbindung mit einem Cluster-Manager herstellt, ruft er einen Executor auf den Knoten innerhalb eines Clusters ab. Diese Executoren führen die letzten Aufgaben aus, die ihnen vom SparkContext zugewiesen wurden.

  1. Was ist eine Parquet-Datei?

Die Parquet-Datei ist eine Datei im Spaltenformat, die Spark SQL sowohl Lese- als auch Schreibvorgänge ermöglicht. Die Verwendung der Parkettdatei (Säulenformat) hat viele Vorteile:

  1. Das Spaltenspeicherformat verbraucht weniger Platz.
  2. Das Spaltenspeicherformat hält IO-Vorgänge in Schach.
  3. Es ermöglicht Ihnen den einfachen Zugriff auf bestimmte Spalten.
  4. Es folgt einer typspezifischen Kodierung und liefert besser zusammengefasste Daten.

So – wir haben Sie in Spark eingeführt. Diese 15 grundlegenden Konzepte in Spark helfen Ihnen bei den ersten Schritten mit Spark.

Wenn Sie mehr über Big Data erfahren möchten, schauen Sie sich unser PG Diploma in Software Development Specialization in Big Data-Programm an, das für Berufstätige konzipiert ist und mehr als 7 Fallstudien und Projekte bietet, 14 Programmiersprachen und Tools abdeckt und praktische praktische Übungen enthält Workshops, mehr als 400 Stunden gründliches Lernen und Unterstützung bei der Stellenvermittlung bei Top-Unternehmen.

Sehen Sie sich unsere anderen Softwareentwicklungskurse bei upGrad an.

Bilden Sie sich weiter und machen Sie sich bereit für die Zukunft

Über 400 Lernstunden. 14 Sprachen & Tools. IIIT-B Alumni-Status.
Advanced Certificate Program in Big Data vom IIIT Bangalore