Top 60 Hadoop & Fragen zum MapReduce-Interview & Antworten

Anonim

PDF Herunterladen

Im Folgenden finden Sie häufig gestellte Fragen in Interviews für Erstsemester und erfahrene Entwickler.

1) Was ist Hadoop Map Reduce?

Für die parallele Verarbeitung großer Datenmengen in einem Hadoop-Cluster wird das Hadoop MapReduce-Framework verwendet. Die Datenanalyse verwendet eine zweistufige Karte und reduziert den Prozess.

2) Wie funktioniert Hadoop MapReduce?

In MapReduce werden während der Kartenphase die Wörter in jedem Dokument gezählt, während in der Reduzierungsphase die Daten gemäß dem Dokument aggregiert werden, das sich über die gesamte Sammlung erstreckt. Während der Kartenphase werden die Eingabedaten zur Analyse durch Kartenaufgaben, die parallel über das Hadoop-Framework ausgeführt werden, in Teilungen unterteilt.

3) Erklären Sie, was in MapReduce gemischt wird.

Der Prozess, durch den das System die Sortierung durchführt und die Kartenausgaben als Eingaben an den Reduzierer überträgt, wird als Mischen bezeichnet

4) Erklären Sie, was verteilter Cache in MapReduce Framework ist.

Der verteilte Cache ist eine wichtige Funktion des MapReduce-Frameworks. Wenn Sie einige Dateien für alle Knoten in Hadoop Cluster freigeben möchten, wird der verteilte Cache verwendet. Die Dateien können ausführbare JAR-Dateien oder einfache Eigenschaftendateien sein.

5) Erklären Sie, was NameNode in Hadoop ist.

NameNode in Hadoop ist der Knoten, auf dem Hadoop alle Informationen zum Dateispeicherort in HDFS (Hadoop Distributed File System) speichert. Mit anderen Worten, NameNode ist das Herzstück eines HDFS-Dateisystems. Es zeichnet alle Dateien im Dateisystem auf und verfolgt die Dateidaten über den Cluster oder mehrere Computer

6) Erklären Sie, was JobTracker in Hadoop ist. Welche Aktionen verfolgt Hadoop?

In Hadoop wird JobTracker zum Senden und Verfolgen von MapReduce-Jobs verwendet. Der Job-Tracker wird in einem eigenen JVM-Prozess ausgeführt

Job Tracker führt die folgenden Aktionen in Hadoop aus

  • Client-Bewerbung sendet Jobs an den Job-Tracker
  • JobTracker kommuniziert mit dem Namensmodus, um den Datenspeicherort zu bestimmen
  • In der Nähe der Daten oder mit verfügbaren Steckplätzen findet JobTracker TaskTracker-Knoten
  • Auf ausgewählten TaskTracker-Knoten wird die Arbeit übermittelt
  • Wenn eine Aufgabe fehlschlägt, benachrichtigt der Job-Tracker und entscheidet, was dann zu tun ist.
  • Die TaskTracker-Knoten werden von JobTracker überwacht

7) Erklären Sie, was Herzschlag in HDFS ist.

Heartbeat bezieht sich auf ein Signal, das zwischen einem Datenknoten und einem Namensknoten sowie zwischen einem Task-Tracker und einem Job-Tracker verwendet wird. Wenn der Name-Knoten oder Job-Tracker nicht auf das Signal reagiert, wird davon ausgegangen, dass einige Probleme mit dem Datenknoten oder der Task vorliegen Tracker

8) Erklären Sie, was Kombinierer sind und wann Sie einen Kombinierer in einem MapReduce-Job verwenden sollten.

Um die Effizienz des MapReduce-Programms zu erhöhen, werden Kombinierer verwendet. Die Datenmenge kann mit Hilfe von Kombinierern reduziert werden, die an die Reduzierer übertragen werden müssen. Wenn die ausgeführte Operation kommutativ und assoziativ ist, können Sie Ihren Reduzierungscode als Kombinierer verwenden. Die Ausführung von Combiner ist in Hadoop nicht garantiert

9) Was passiert, wenn ein Datenknoten ausfällt?

Wenn ein Datenknoten ausfällt

  • Jobtracker und Namensknoten erkennen den Fehler
  • Auf dem ausgefallenen Knoten werden alle Aufgaben neu geplant
  • Namenode repliziert die Benutzerdaten auf einen anderen Knoten

10) Erklären Sie, was spekulative Ausführung ist.

In Hadoop wird während der spekulativen Ausführung eine bestimmte Anzahl doppelter Aufgaben gestartet. Auf einem anderen Slave-Knoten können mithilfe der spekulativen Ausführung mehrere Kopien derselben Map- oder Reduktionsaufgabe ausgeführt werden. Mit einfachen Worten, wenn ein bestimmtes Laufwerk lange braucht, um eine Aufgabe zu erledigen, erstellt Hadoop eine doppelte Aufgabe auf einer anderen Festplatte. Ein Datenträger, der die Aufgabe zuerst beendet, wird beibehalten, und Datenträger, die nicht zuerst beendet werden, werden beendet.

11) Erklären Sie, was die Grundparameter eines Mappers sind.

Die Grundparameter eines Mappers sind

  • LongWritable und Text
  • Text und IntWritable

12) Erklären Sie, welche Funktion der MapReduce-Partitionierer hat.

Die Funktion des MapReduce-Partitionierers besteht darin, sicherzustellen, dass der gesamte Wert eines einzelnen Schlüssels an denselben Reduzierer geht, was letztendlich zu einer gleichmäßigen Verteilung der Kartenausgabe auf die Reduzierer beiträgt

13) Erklären Sie, was ein Unterschied zwischen einem Input Split und einem HDFS-Block ist.

Die logische Aufteilung von Daten wird als Split bezeichnet, während eine physikalische Aufteilung von Daten als HDFS-Block bezeichnet wird

14) Erklären Sie, was im Textformat passiert.

Im Texteingabeformat ist jede Zeile in der Textdatei ein Datensatz. Wert ist der Inhalt der Zeile, während Schlüssel der Byte-Versatz der Zeile ist. Beispiel: Schlüssel: longWritable, Wert: Text

15) Erwähnen Sie, welche Hauptkonfigurationsparameter der Benutzer angeben muss, um MapReduce Job auszuführen.

Der Benutzer des MapReduce-Frameworks muss angeben

  • Die Speicherorte des Jobs im verteilten Dateisystem
  • Der Ausgabeort des Jobs im verteilten Dateisystem
  • Eingabeformat
  • Ausgabeformat
  • Klasse mit der Kartenfunktion
  • Klasse mit der Reduktionsfunktion
  • JAR-Datei mit den Mapper-, Reducer- und Treiberklassen

16) Erklären Sie, was WebDAV in Hadoop ist.

Um das Bearbeiten und Aktualisieren von Dateien zu unterstützen, ist WebDAV eine Reihe von Erweiterungen für HTTP. Auf den meisten Betriebssystemen können WebDAV-Freigaben als Dateisysteme bereitgestellt werden, sodass auf HDFS als Standarddateisystem zugegriffen werden kann, indem HDFS über WebDAV verfügbar gemacht wird.

17) Erklären Sie, was Sqoop in Hadoop ist.

Zum Übertragen der Daten zwischen RDBMS (Relational Database Management) und Hadoop HDFS wird ein Tool namens Sqoop verwendet. Mit Sqoop können Daten von RDMS wie MySQL oder Oracle in HDFS übertragen sowie Daten aus HDFS-Dateien in RDBMS exportiert werden

18) Erklären Sie, wie JobTracker eine Aufgabe plant?

Der Task-Tracker sendet normalerweise alle paar Minuten Heartbeat-Nachrichten an Jobtracker, um sicherzustellen, dass JobTracker aktiv ist und funktioniert. Die Nachricht informiert JobTracker auch über die Anzahl der verfügbaren Slots, sodass der JobTracker auf dem neuesten Stand bleiben kann, über den die Clusterarbeit delegiert werden kann

19) Erklären Sie, was Sequencefileinputformat ist.

Sequencefileinputformat wird zum sequentiellen Lesen von Dateien verwendet. Es handelt sich um ein bestimmtes komprimiertes Binärdateiformat, das für die Übergabe von Daten zwischen der Ausgabe eines MapReduce-Jobs und der Eingabe eines anderen MapReduce-Jobs optimiert ist.

20) Erklären Sie, was die conf.setMapper-Klasse tut.

Conf.setMapperclass legt die Mapper-Klasse und alle mit dem Map-Job verbundenen Dinge fest, z. B. das Lesen von Daten und das Generieren eines Schlüssel-Wert-Paares aus dem Mapper

21) Erklären Sie, was Hadoop ist.

Es ist ein Open-Source-Software-Framework zum Speichern von Daten und Ausführen von Anwendungen auf Clustern von Standardhardware. Es bietet enorme Rechenleistung und massiven Speicher für jede Art von Daten.

22) Erwähnen Sie, was der Unterschied zwischen einem RDBMS und Hadoop ist.

RDBMS Hadoop
RDBMS ist ein relationales Datenbankverwaltungssystem Hadoop ist eine knotenbasierte flache Struktur
Es wurde für die OLTP-Verarbeitung verwendet, während Hadoop Es wird derzeit für die analytische und für die BIG DATA-Verarbeitung verwendet
In RDBMS verwendet der Datenbankcluster dieselben Datendateien, die in einem gemeinsam genutzten Speicher gespeichert sind In Hadoop können die Speicherdaten unabhängig in jedem Verarbeitungsknoten gespeichert werden.
Sie müssen Daten vorverarbeiten, bevor Sie sie speichern Sie müssen Daten nicht vorverarbeiten, bevor Sie sie speichern

23) Hadoop-Kernkomponenten erwähnen?

Zu den Hadoop-Kernkomponenten gehören:

  • HDFS
  • Karte verkleinern

24) Was ist NameNode in Hadoop?

In NameNode in Hadoop speichert Hadoop alle Informationen zum Dateispeicherort in HDFS. Es ist der Masterknoten, auf dem der Job Tracker ausgeführt wird und aus Metadaten besteht.

25) Erwähnen Sie, welche Datenkomponenten von Hadoop verwendet werden.

Von Hadoop verwendete Datenkomponenten sind

  • Schwein
  • Bienenstock

26) Erwähnen Sie, welche Datenspeicherkomponente von Hadoop verwendet wird.

Die von Hadoop verwendete Datenspeicherkomponente ist HBase.

27) Erwähnen Sie, welche Eingabeformate in Hadoop am häufigsten definiert werden.

Die in Hadoop am häufigsten definierten Eingabeformate sind:

  • TextInputFormat
  • KeyValueInputFormat
  • SequenceFileInputFormat

28) Was ist InputSplit in Hadoop?

Es teilt Eingabedateien in Blöcke auf und weist jede Aufteilung einem Mapper zur Verarbeitung zu.

29) Wie schreiben Sie für einen Hadoop-Job einen benutzerdefinierten Partitionierer?

Wenn Sie einen benutzerdefinierten Partitionierer für einen Hadoop-Job schreiben, folgen Sie dem folgenden Pfad

  • Erstellen Sie eine neue Klasse, die die Partitioner-Klasse erweitert
  • Überschreiben Sie die Methode getPartition
  • In dem Wrapper, in dem MapReduce ausgeführt wird
  • Fügen Sie den benutzerdefinierten Partitionierer mithilfe der Methode set Partitioner Class zum Job hinzu, oder - fügen Sie den benutzerdefinierten Partitionierer als Konfigurationsdatei zum Job hinzu

30) Ist es für einen Job in Hadoop möglich, die Anzahl der zu erstellenden Mapper zu ändern?

Nein, es ist nicht möglich, die Anzahl der zu erstellenden Mapper zu ändern. Die Anzahl der Mapper wird durch die Anzahl der Eingabesplits bestimmt.

31) Erklären Sie, was eine Sequenzdatei in Hadoop ist.

Zum Speichern von Binärschlüssel / Wert-Paaren wird eine Sequenzdatei verwendet. Im Gegensatz zu normalen komprimierten Dateien unterstützt die Sequenzdatei die Aufteilung auch dann, wenn die Daten in der Datei komprimiert sind.

32) Was passiert mit dem Job Tracker, wenn Namenode nicht verfügbar ist?

Namenode ist der einzige Fehlerpunkt in HDFS. Wenn Namenode nicht verfügbar ist, wird Ihr Cluster gestartet.

33) Erklären Sie, wie die Indizierung in HDFS durchgeführt wird.

Hadoop bietet eine einzigartige Art der Indizierung. Sobald die Daten gemäß der Blockgröße gespeichert sind, speichert das HDFS weiterhin den letzten Teil der Daten, der angibt, wo sich der nächste Teil der Daten befindet.

34) Erklären Sie, ob es möglich ist, mit Platzhaltern nach Dateien zu suchen.

Ja, es ist möglich, mit Platzhaltern nach Dateien zu suchen.

35) Die drei Konfigurationsdateien von Hadoop auflisten?

Die drei Konfigurationsdateien sind

  • core-site.xml
  • mapred-site.xml
  • hdfs-site.xml

36) Erklären Sie, wie Sie mit dem Befehl jps überprüfen können, ob Namenode nebenher funktioniert.

Neben der Verwendung des Befehls jps können Sie auch verwenden, um zu überprüfen, ob Namenode funktioniert

/etc/init.d/hadoop-0.20-namenode status.

37) Erklären Sie, was in Hadoop "Karte" und was "Reduzierer" ist.

In Hadoop ist eine Karte eine Phase bei der Lösung von HDFS-Abfragen. Eine Karte liest Daten von einem Eingabeort und gibt ein Schlüsselwertpaar entsprechend dem Eingabetyp aus.

In Hadoop sammelt ein Reduzierer die vom Mapper generierte Ausgabe, verarbeitet sie und erstellt eine eigene endgültige Ausgabe.

38) Welche Datei steuert in Hadoop die Berichterstellung in Hadoop?

In Hadoop steuert die Datei hadoop-metrics.properties die Berichterstellung.

39) Für die Verwendung von Hadoop die Netzwerkanforderungen auflisten?

Für die Verwendung von Hadoop sind folgende Netzwerkanforderungen aufgeführt:

  • Passwortlose SSH-Verbindung
  • Secure Shell (SSH) zum Starten von Serverprozessen

40) Erwähnen Sie, was Rack-Bewusstsein ist?

Die Rack-Erkennung ist die Art und Weise, in der der Namensknoten anhand der Rack-Definitionen festlegt, wie Blöcke platziert werden sollen.

41) Erklären Sie, was ein Task Tracker in Hadoop ist.

Ein Task Tracker in Hadoop ist ein Slave-Node-Daemon im Cluster, der Aufgaben von einem JobTracker akzeptiert. Außerdem werden alle paar Minuten die Heartbeat-Nachrichten an den JobTracker gesendet, um zu bestätigen, dass der JobTracker noch aktiv ist.

42) Erwähnen Sie, welche Daemons auf einem Master- und Slave-Knoten ausgeführt werden.

  • Daemons, die auf dem Masterknoten ausgeführt werden, sind "NameNode".
  • Daemons, die auf jedem Slave-Knoten ausgeführt werden, sind "Task Tracker" und "Data".

43) Erklären Sie, wie Sie Hadoop-Code debuggen können.

Die gängigen Methoden zum Debuggen von Hadoop-Code sind:

  • Mithilfe der vom Hadoop-Framework bereitgestellten Weboberfläche
  • Durch die Verwendung von Zählern

44) Erklären Sie, was Speicher- und Rechenknoten sind.

  • Der Speicherknoten ist der Computer oder Computer, auf dem sich Ihr Dateisystem befindet, um die Verarbeitungsdaten zu speichern
  • Der Rechenknoten ist der Computer oder die Maschine, auf dem Ihre eigentliche Geschäftslogik ausgeführt wird.

45) Erwähnen Sie, wozu das Kontextobjekt verwendet wird.

Das Kontextobjekt ermöglicht dem Mapper die Interaktion mit dem Rest des Hadoop

System. Es enthält Konfigurationsdaten für den Job sowie Schnittstellen, über die er Ausgaben ausgeben kann.

46) Erwähnen Sie, was der nächste Schritt nach Mapper oder MapTask ist.

Der nächste Schritt nach Mapper oder MapTask besteht darin, dass die Ausgabe des Mappers sortiert wird und Partitionen für die Ausgabe erstellt werden.

47) Erwähnen Sie, wie viele Standardpartitionierer in Hadoop vorhanden sind.

In Hadoop ist der Standardpartitionierer ein "Hash" -Partitionierer.

48) Erklären Sie, was der Zweck von RecordReader in Hadoop ist.

In Hadoop lädt der RecordReader die Daten aus seiner Quelle und konvertiert sie in (Schlüssel-, Wert-) Paare, die zum Lesen durch den Mapper geeignet sind.

49) Erklären Sie, wie Daten partitioniert werden, bevor sie an den Reduzierer gesendet werden, wenn in Hadoop kein benutzerdefinierter Partitionierer definiert ist.

Wenn in Hadoop kein benutzerdefinierter Partitionierer definiert ist, berechnet ein Standardpartitionierer einen Hashwert für den Schlüssel und weist die Partition basierend auf dem Ergebnis zu.

50) Erklären Sie, was passiert, wenn Hadoop 50 Aufgaben für einen Job erzeugt hat und eine der Aufgaben fehlgeschlagen ist?

Die Aufgabe wird auf einem anderen TaskTracker erneut gestartet, wenn die Aufgabe mehr als das definierte Limit überschreitet.

51) Erwähnen Sie, wie Dateien am besten zwischen HDFS-Clustern kopiert werden können.

Der beste Weg, um Dateien zwischen HDFS-Clustern zu kopieren, ist die Verwendung mehrerer Knoten und des Befehls distcp, sodass die Arbeitslast gemeinsam genutzt wird.

52) Erwähnen Sie, was der Unterschied zwischen HDFS und NAS ist.

HDFS-Datenblöcke werden auf lokale Laufwerke aller Computer in einem Cluster verteilt, während NAS-Daten auf dedizierter Hardware gespeichert werden.

53) Erwähnen Sie, wie sich Hadoop von anderen Datenverarbeitungswerkzeugen unterscheidet?

In Hadoop können Sie die Anzahl der Mapper erhöhen oder verringern, ohne sich Gedanken über das zu verarbeitende Datenvolumen machen zu müssen.

54) Erwähnen Sie, welchen Job die conf-Klasse macht?

Die Job-Conf-Klasse trennt verschiedene Jobs, die auf demselben Cluster ausgeführt werden. Es übernimmt die Einstellungen auf Jobebene, z. B. das Deklarieren eines Jobs in einer realen Umgebung.

55) Erwähnen Sie, was der Hadoop MapReduce-API-Vertrag für eine Schlüssel- und Wertklasse ist.

Für eine Schlüssel- und Wertklasse gibt es zwei Hadoop MapReduce-APIs

  • Der Wert muss die Schnittstelle org.apache.hadoop.io.Writable definieren
  • Der Schlüssel muss die Schnittstelle org.apache.hadoop.io.WritableComparable definieren

56) Erwähnen Sie, in welchen drei Modi Hadoop ausgeführt werden kann.

Die drei Modi, in denen Hadoop ausgeführt werden kann, sind:

  • Pseudo-verteilter Modus
  • Standalone-Modus (lokal)
  • Vollverteilter Modus

57) Erwähnen Sie, was das Texteingabeformat bewirkt.

Das Texteingabeformat erstellt ein Linienobjekt, das eine Hexadezimalzahl ist. Der Wert wird als ganzer Zeilentext betrachtet, während der Schlüssel als Linienobjekt betrachtet wird. Der Mapper erhält den Wert als 'Text'-Parameter und den Schlüssel als' Longwriteable'-Parameter.

58) Erwähnen Sie, wie viele InputSplits von einem Hadoop Framework erstellt werden?

Hadoop macht 5 Splits

  • 1 Split für 64K-Dateien
  • 2 Split für 65 MB Dateien
  • 2 Teilungen für 127-MB-Dateien

59) Erwähnen Sie, was verteilter Cache in Hadoop ist?

Der verteilte Cache in Hadoop ist eine Funktion, die vom MapReduce-Framework bereitgestellt wird. Zum Zeitpunkt der Ausführung des Jobs wird es zum Zwischenspeichern von Dateien verwendet. Das Framework kopiert die erforderlichen Dateien auf den Slave-Knoten, bevor eine Aufgabe auf diesem Knoten ausgeführt wird.

60) Erklären Sie, wie der Hadoop-Klassenpfad eine wichtige Rolle beim Stoppen oder Starten in Hadoop-Dämonen spielt.

Classpath besteht aus einer Liste von Verzeichnissen mit JAR-Dateien zum Stoppen oder Starten von Daemons.