Einführung in die Interview-Fragen und Antworten
Apache Spark ist ein Open-Source-Framework. Spark, da es sich um eine Open-Source-Plattform handelt, können wir mehrere Programmiersprachen wie Java, Python, Scala und R verwenden. Im Vergleich zur Map-Reduce-Prozessleistung trägt Spark zur Verbesserung der Ausführungsleistung bei. Es bietet außerdem eine 100-mal schnellere Ausführung im Arbeitsspeicher als Map-Reduce. Wegen der Verarbeitungsleistung von Funken bevorzugen die Industrien heutzutage Funken.
Sie haben also endlich Ihren Traumjob in Spark gefunden, fragen sich aber, wie Sie das Spark-Interview knacken können und was die wahrscheinlichen Spark-Interview-Fragen für 2018 sein könnten. Jedes Interview ist anders und der Umfang eines Jobs ist auch anders. Aus diesem Grund haben wir die häufigsten Fragen und Antworten zu Spark-Vorstellungsgesprächen für 2018 erstellt, um Ihnen den Erfolg Ihres Vorstellungsgesprächs zu erleichtern.
Diese Fragen gliedern sich in zwei Teile
Teil 1 - Fragen zum Spark-Interview (Grundkenntnisse)
In diesem ersten Teil werden grundlegende Fragen und Antworten zu Spark-Vorstellungsgesprächen behandelt
1. Was ist Spark?
Antworten:
Apache Spark ist ein Open-Source-Framework. Es verbessert die Ausführungsleistung als der Map-Reduce-Prozess. Es ist eine offene Plattform, auf der wir mehrere Programmiersprachen wie Java, Python, Scala, R verwenden können. Spark bietet eine In-Memory-Ausführung, die 100-mal schneller ist als Map-Reduce. Es verwendet das Konzept der RDD. RDD ist ein robustes verteiltes Dataset, mit dem Daten transparent im Speicher gespeichert und nur auf Datenträgern gespeichert werden können, die benötigt werden. An dieser Stelle wird die Zeit für den Zugriff auf die Daten aus dem Speicher anstelle von "Festplatte" verkürzt. Heute bevorzugt die Industrie Spark wegen seiner Verarbeitungsleistung.
2. Unterschied zwischen Hadoop und Spark?
Antworten:
Funktionskriterien | Apache Spark | Hadoop |
Geschwindigkeit | 10 bis 100 mal schneller als Hadoop | Normale Geschwindigkeit |
wird bearbeitet | Echtzeit- und Stapelverarbeitung, In-Memory, Caching | Nur Stapelverarbeitung, festplattenabhängig |
Schwierigkeit | Einfach durch High-Level-Module | Schwierig zu lernen |
Wiederherstellung | Ermöglicht die Wiederherstellung von Partitionen mit RDD | Fehlertoleranz |
Interaktivität | Hat interaktive, interaktive Modi | Kein interaktiver Modus außer Pig & Hive, kein iterativer Modus |
Die normale Hadoop-Architektur folgt der grundlegenden Map-Reduce-Methode. Für den gleichen Prozess sorgt Spark für die Ausführung im Speicher. Anstelle von Lese- und Schreibzugriff auf die Festplatte für Map-Reduce bieten Spark Lese- und Schreibzugriff aus dem virtuellen Speicher.
Fahren wir mit den nächsten Fragen zum Spark-Interview fort
3. Was sind die Merkmale von Spark?
Antworten:
- Bieten Sie Integrationsmöglichkeiten mit Hadoop und Files on HDFS. Spark kann mithilfe des YARN-Ressourcenclusters auf Hadoop ausgeführt werden. Spark kann die Map-Reduce-Engine des Hadoop ersetzen.
- Polyglot: Spark Bietet eine API auf hoher Ebene für Java, Python, Scala und R. Spark-Code kann in einer dieser vier Sprachen geschrieben werden. Die IT bietet eine eigenständige Shell für Scale (die Sprache, in der Spark geschrieben ist) und einen Python-Interpreter. Was hilft bei der Interaktion mit dem Zündmotor? Auf die Scala-Shell kann über ./bin/spark-shell und auf die Python-Shell über ./bin/pyspark aus dem installierten Verzeichnis zugegriffen werden .
- Geschwindigkeit: Die Spark-Engine ist 100-mal schneller als Hadoop Map-Reduce für die Datenverarbeitung in großem Maßstab. Die Geschwindigkeit wird durch Partitionierung zur Parallelisierung der verteilten Datenverarbeitung bei minimalem Netzwerkverkehr erreicht. Bereitstellen von RDDs (Resilient Distributed Datasets), die über Rechenknoten in einem Cluster zwischengespeichert werden können
- Mehrere Formate: Spark verfügt über eine Datenquellen-API. Es wird einen Mechanismus für den Zugriff auf strukturierte Daten über Spark-SQL bereitstellen. Datenquellen können alles sein, Spark erstellt lediglich einen Mechanismus, um die Daten zu konvertieren und in den Funken zu ziehen. Spark unterstützt mehrere Datenquellen wie Hive, HBase, Cassandra, JSON, Parkett, ORC.
- Spark stellt einige integrierte Bibliotheken zur Verfügung, mit denen mehrere Aufgaben aus demselben Kern ausgeführt werden können, z. B. Stapelverarbeitung, Dämpfen, Maschinelles Lernen und Interactive SQL-Abfragen. Hadoop unterstützt jedoch nur die Stapelverarbeitung. Spark Stellen Sie MLIb (Machine Learning Libraries) bereit, die für Big-Data Developer hilfreich sind, um die Daten zu verarbeiten. Dies hilft, Abhängigkeiten von mehreren Tools für unterschiedliche Zwecke zu entfernen. Spark bietet Dateningenieuren und Datenwissenschaftlern eine gemeinsame leistungsstarke Plattform mit schneller Leistung und einfacher Bedienung.
- Apache Spark verzögert die Ausführung des Prozesses, bis die Aktion erforderlich ist. Dies ist eines der Hauptmerkmale von spark. Spark fügt jede Transformation der DAG (Direct Acyclic Graph) zur Ausführung hinzu. Wenn eine Aktion ausgeführt werden soll, wird die DAG tatsächlich zur Verarbeitung veranlasst.
- Echtzeit-Streaming: Apache Spark Bietet Echtzeitberechnungen und geringe Latenz aufgrund speicherinterner Ausführung. Spark ist für große Skalierbarkeiten wie tausend Knoten des Clusters und mehrere Modelle für Berechnungen ausgelegt.
4. Was ist YARN?
Antworten:
Dies sind die grundlegenden Fragen zum Spark-Interview, die in einem Interview gestellt werden. YARN (noch ein weiterer Resource Negotiator) ist der Resource Manager. Spark ist eine Plattform, die eine schnelle Ausführung ermöglicht. Spark verwendet YARN für die Ausführung des Jobs im Cluster und nicht seinen eigenen integrierten Manager. Es gibt einige Konfigurationen, um Yarn auszuführen. Dazu gehören Master, Bereitstellungsmodus, Treiberspeicher, Executor-Speicher, Executor-Cores und Warteschlange. Dies ist der übliche Spark Interview Fragen, die in einem Interview unten gestellt werden, sind die Vorteile von Spark:
Vorteile von Spark gegenüber Map-Reduce
Spark hat folgende Vorteile gegenüber Map-Reduce:
Aufgrund der Fähigkeit des In-Memory-Prozesses kann Spark 10 bis 100 Mal schneller als Map-Reduce ausgeführt werden. Wo Map-Reduce für die Persistenz von Daten in der Map and Reduce-Phase verwendet werden kann.
Apache Spark bietet eine Vielzahl integrierter Bibliotheken, mit denen mehrere Aufgaben gleichzeitig wie Stapelverarbeitung, Echtzeit-Streaming, Spark-SQL, Strukturiertes Streaming, MLib usw. verarbeitet werden können. Gleichzeitig bietet Hadoop nur Stapelverarbeitung.
Der Hadoop Map-Reduce-Prozess ist festplattenabhängig, wobei Spark Caching und In-Memory bereitstellt.
Spark bietet sowohl iterative, mehrfache als auch interaktive Berechnungen für dasselbe Dataset sowie Berechnungen zwischen verschiedenen Datasets, bei denen Hadoop keine iterativen Berechnungen unterstützt.
5. Welche Sprache wird von Spark unterstützt?
Antworten:
Spark unterstützt Scala, Python, R und Java. Big-Data-Entwickler bevorzugen auf dem Markt vor allem Scala und Python. Damit eine Waage den Code kompilieren kann, müssen Sie den Pfad des Verzeichnisses scale / bin festlegen oder eine JAR-Datei erstellen.
6. Was ist RDD?
Antworten:
RDD ist eine Abstraktion von Resilient Distributed Dataset, die eine Sammlung von Elementen bereitstellt, die auf alle Knoten des Clusters verteilt sind, um die parallele Ausführung mehrerer Prozesse zu unterstützen. Mithilfe von RDD kann der Entwickler die Daten im Arbeitsspeicher oder im Cache speichern, um sie für die parallele Ausführung von Vorgängen effizient wiederzuverwenden. RDD kann leicht nach einem Knotenausfall wiederhergestellt werden.
Teil 2 - Fragen zum Spark-Interview (Fortgeschrittene)
Werfen wir jetzt einen Blick auf die erweiterten Fragen zum Spark-Interview.
7. Welche Faktoren sind für die Ausführung von Spark verantwortlich?
Antworten:
1. Spark bietet In-Memory-Ausführung anstelle von festplattenabhängig wie Hadoop Map-Reduce.
2.RDD Resilient Distributed Dataset (Ausfallsicheres verteiltes Dataset), das die verantwortliche parallele Ausführung mehrerer Vorgänge auf allen Knoten eines Clusters darstellt.
3. Spark bietet eine gemeinsam genutzte Variablenfunktion für die parallele Ausführung. Diese Variablen tragen dazu bei, die Datenübertragung zwischen Knoten zu reduzieren und eine Kopie aller Knoten gemeinsam zu nutzen. Es gibt zwei Variablen.
4. Broadcast-Variable: Diese Variable kann verwendet werden, um einen Wert auf allen Knoten im Speicher zwischenzuspeichern
5.Akkumulatorvariable: Diese Variable wird nur hinzugefügt, z. B. zu Zählern und Summen.
8. Was ist Executor Memory?
Antworten:
Dies ist die häufig gestellte Frage zum Spark-Interview in einem Interview. Dies ist die für Spark Executor zugewiesene Heap-Größe. Diese Eigenschaft kann durch die Eigenschaft spark.executor.memory des Flags –executor-memory gesteuert werden. Jede Spark-Anwendung verfügt über einen Executor für jeden Worker-Knoten. Diese Eigenschaft gibt an, wie viel Speicher der Arbeitsknoten einer Anwendung zugewiesen wird.
9. Wie benutzt man Spark Stream? Erklären Sie einen Anwendungsfall?
Antworten:
Spark Stream ist eine der Funktionen, die für einen Echtzeit-Anwendungsfall nützlich sind. Wir können Kafka mit einem Funken für diesen Zweck verwenden. Flume löst die Daten von einer Quelle aus. Kafka speichert die Daten in Topic. Von Kafka Spark werden die Daten mithilfe des Streams abgerufen und die Daten werden per D-Stream übertragen und die Transformation ausgeführt.
Wir können diesen Prozess für verdächtige Echtzeittransaktionen, Echtzeitangebote usw. verwenden.
Fahren wir mit den nächsten Fragen zum Spark-Interview fort
10. Können wir Spark für den ETL-Prozess verwenden?
Antworten:
Ja, wir können die Spark-Plattform für den ETL-Prozess verwenden.
11. Was ist Spark SQL?
Antworten:
Es ist eine spezielle Komponente von spark, die SQL-Abfragen unterstützt.
12. Welche faule Bewertung?
Antworten:
Wenn wir mit einem Funken arbeiten, werden Transformationen erst ausgewertet, wenn Sie eine Aktion ausführen. Dies trägt zur Optimierung des gesamten Datenverarbeitungsworkflows bei. Bei der Definition der Transformation wird diese zur DAG (Direct Acyclic Graph) hinzugefügt. Und zur Aktionszeit werden schrittweise Transformationen ausgeführt. Dies ist die nützliche Frage zum Spark-Interview, die in einem Interview gestellt wird.
Empfohlener Artikel
Dies war ein Leitfaden für die Liste der Fragen und Antworten zu Spark-Vorstellungsgesprächen, damit der Kandidat diese Spark-Interview-Fragen auf einfache Weise durchgreifen kann. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren.
- Java vs Node JS vereinfacht die Unterschiede
- Im Vorstellungsgespräch bei Mongo Database | Nützlich und am meisten gefragt
- 15 erfolgreichste R Interview Fragen und Antworten
- Perl Interview Fragen und Antworten
- Fragen im Vorstellungsgespräch bei SAS System - Die 10 wichtigsten Fragen