Top 60 Hadoop & MapReduce Interview Vragen & Antwoorden

Anonim

Download PDF

Hieronder volgen veelgestelde vragen in interviews voor zowel eerstejaarsstudenten als ervaren ontwikkelaars.

1) Wat is Hadoop Map Reduce?

Voor het parallel verwerken van grote datasets in een Hadoop-cluster, wordt het Hadoop MapReduce-framework gebruikt. Data-analyse maakt gebruik van een tweestaps kaart en reduceert het proces.

2) Hoe werkt Hadoop MapReduce?

In MapReduce telt het tijdens de kaartfase de woorden in elk document, terwijl het in de verkleiningsfase de gegevens verzamelt volgens het document dat de hele verzameling beslaat. Tijdens de kaartfase worden de invoergegevens opgedeeld in splitsingen voor analyse door kaarttaken die parallel in het Hadoop-framework worden uitgevoerd.

3) Leg uit wat er in MapReduce wordt geschud?

Het proces waarmee het systeem de sortering uitvoert en de kaartuitvoer als invoer naar het reductiemiddel verzendt, staat bekend als de shuffle

4) Leg uit wat de gedistribueerde cache is in MapReduce Framework?

Gedistribueerde cache is een belangrijke functie die wordt geboden door het MapReduce-framework. Als u bestanden wilt delen over alle knooppunten in Hadoop Cluster, wordt Distributed Cache gebruikt. De bestanden kunnen uitvoerbare jar-bestanden of eenvoudig eigenschappenbestand zijn.

5) Leg uit wat NameNode is in Hadoop?

NameNode in Hadoop is het knooppunt waar Hadoop alle bestandslocatie-informatie opslaat in HDFS (Hadoop Distributed File System). Met andere woorden, NameNode is het middelpunt van een HDFS-bestandssysteem. Het houdt een record bij van alle bestanden in het bestandssysteem en houdt de bestandsgegevens bij over het cluster of meerdere machines

6) Leg uit wat JobTracker in Hadoop is? Wat zijn de acties die door Hadoop worden gevolgd?

In Hadoop wordt JobTracker gebruikt voor het indienen en volgen van MapReduce-opdrachten. Job tracker draait op zijn eigen JVM-proces

Job Tracker voert de volgende acties uit in Hadoop

  • Clienttoepassing verzendt taken naar de jobtracker
  • JobTracker communiceert met de naammodus om de datalocatie te bepalen
  • In de buurt van de gegevens of met beschikbare slots lokaliseert JobTracker TaskTracker-knooppunten
  • Op de gekozen TaskTracker-knooppunten verzendt het het werk
  • Als een taak mislukt, geeft Job tracker een melding en besluit wat er vervolgens moet worden gedaan.
  • De TaskTracker-knooppunten worden gemonitord door JobTracker

7) Leg uit wat de hartslag is in HDFS?

Heartbeat verwijst naar een signaal dat wordt gebruikt tussen een dataknooppunt en een naamknooppunt, en tussen taaktracker en taakvolger. tracker

8) Leg uit wat combiners zijn en wanneer je een combiner moet gebruiken in een MapReduce Job?

Om de efficiëntie van het MapReduce-programma te vergroten, worden Combiners gebruikt. De hoeveelheid gegevens kan worden verminderd met behulp van combiners die naar de reducers moeten worden overgebracht. Als de uitgevoerde bewerking commutatief en associatief is, kunt u uw verloopcode als combinator gebruiken. De uitvoering van combiner is niet gegarandeerd in Hadoop

9) Wat gebeurt er als een dataknooppunt uitvalt?

Wanneer een gegevensknooppunt uitvalt

  • Jobtracker en namenode detecteren de fout
  • Op het defecte knooppunt worden alle taken opnieuw gepland
  • Namenode repliceert de gegevens van de gebruiker naar een ander knooppunt

10) Leg uit wat speculatieve executie is?

In Hadoop wordt tijdens Speculative Execution een bepaald aantal dubbele taken gestart. Op een ander slave-knooppunt kunnen meerdere kopieën van dezelfde map of verkleintaak worden uitgevoerd met behulp van Speculative Execution. In eenvoudige bewoordingen, als een bepaalde schijf veel tijd nodig heeft om een ​​taak te voltooien, zal Hadoop een dubbele taak op een andere schijf maken. Een schijf die de taak als eerste voltooit, blijft behouden en schijven die niet als eerste klaar zijn, worden gedood.

11) Leg uit wat de basisparameters van een Mapper zijn?

De basisparameters van een Mapper zijn

  • LongWritable en Text
  • Tekst en IntWritable

12) Leg uit wat de functie is van MapReduce partitioner?

De functie van MapReduce partitioner is om ervoor te zorgen dat alle waarde van een enkele sleutel naar hetzelfde reducer gaat, wat uiteindelijk helpt om de kaartuitvoer gelijkmatig over de reducers te verdelen

13) Leg uit wat een verschil is tussen een Input Split en HDFS Block?

De logische gegevensverdeling staat bekend als Split, terwijl een fysieke gegevensverdeling bekend staat als HDFS Block

14) Leg uit wat er gebeurt in tekstformaat?

In tekstinvoerformaat is elke regel in het tekstbestand een record. Waarde is de inhoud van de regel, terwijl Key de byte-offset van de regel is. Bijvoorbeeld Key: longWritable, Value: text

15) Wat zijn de belangrijkste configuratieparameters die de gebruiker moet specificeren om MapReduce Job uit te voeren?

De gebruiker van het MapReduce-framework moet specificeren

  • De invoerlocaties van Job in het gedistribueerde bestandssysteem
  • De uitvoerlocatie van de taak in het gedistribueerde bestandssysteem
  • invoer formaat
  • Uitvoerformaat
  • Klasse met de kaartfunctie
  • Klasse met de verkleiningsfunctie
  • JAR-bestand met de mapper-, reducer- en driver-klassen

16) Leg uit wat is WebDAV in Hadoop?

Om het bewerken en bijwerken van bestanden te ondersteunen, is WebDAV een set extensies voor HTTP. Op de meeste besturingssystemen kunnen WebDAV-shares worden aangekoppeld als bestandssystemen, dus het is mogelijk om toegang te krijgen tot HDFS als een standaardbestandssysteem door HDFS vrij te geven via WebDAV.

17) Leg uit wat Sqoop in Hadoop is?

Om de gegevens tussen relationeel databasebeheer (RDBMS) en Hadoop HDFS over te dragen, wordt een tool gebruikt die bekend staat als Sqoop. Het gebruik van Sqoop-gegevens kunnen worden overgebracht van RDMS zoals MySQL of Oracle naar HDFS en ook kunnen gegevens worden geëxporteerd van HDFS-bestanden naar RDBMS

18) Leg uit hoe JobTracker een taak plant?

De taakvolger stuurt gewoonlijk om de paar minuten hartslagberichten naar Jobtracker om er zeker van te zijn dat JobTracker actief is en functioneert. Het bericht informeert JobTracker ook over het aantal beschikbare slots, zodat de JobTracker op de hoogte kan blijven waarin het clusterwerk kan worden gedelegeerd

19) Leg uit wat is Sequencefileinputformat?

Sequencefileinputformat wordt gebruikt om bestanden op volgorde te lezen. Het is een specifiek gecomprimeerd binair bestandsformaat dat is geoptimaliseerd voor het doorgeven van gegevens tussen de uitvoer van een MapReduce-taak en de invoer van een andere MapReduce-taak.

20) Leg uit wat de klasse conf.setMapper doet?

Conf.setMapperclass stelt de mapper-klasse in en alle dingen met betrekking tot de kaarttaak, zoals het lezen van gegevens en het genereren van een sleutel-waardepaar uit de mapper

21) Leg uit wat Hadoop is?

Het is een open-source softwareframework voor het opslaan van gegevens en het uitvoeren van applicaties op clusters van standaardhardware. Het biedt een enorme verwerkingskracht en enorme opslag voor elk type gegevens.

22) Wat is het verschil tussen een RDBMS en Hadoop?

RDBMS Hadoop
RDBMS is een relationeel databasebeheersysteem Hadoop is een op een knooppunt gebaseerde platte structuur
Het werd gebruikt voor OLTP-verwerking terwijl Hadoop Het wordt momenteel gebruikt voor analytische en voor BIG DATA-verwerking
In RDBMS gebruikt het databasecluster dezelfde gegevensbestanden die zijn opgeslagen in een gedeelde opslag In Hadoop kunnen de opslaggegevens onafhankelijk in elk verwerkingsknooppunt worden opgeslagen.
U moet de gegevens voorbewerken voordat u ze opslaat u hoeft de gegevens niet voor te verwerken voordat u ze opslaat

23) Noem de kerncomponenten van Hadoop?

Hadoop-kerncomponenten omvatten,

  • HDFS
  • MapReduce

24) Wat is NameNode in Hadoop?

NameNode in Hadoop is waar Hadoop alle bestandslocatie-informatie opslaat in HDFS. Het is het masterknooppunt waarop de job tracker draait en bestaat uit metadata.

25) Wat zijn de datacomponenten die Hadoop gebruikt?

Gegevenscomponenten die door Hadoop worden gebruikt, zijn

  • Varken
  • Bijenkorf

26) Wat is de gegevensopslagcomponent die door Hadoop wordt gebruikt?

De gegevensopslagcomponent die door Hadoop wordt gebruikt, is HBase.

27) Wat zijn de meest voorkomende invoerformaten die in Hadoop zijn gedefinieerd?

De meest voorkomende invoerformaten die in Hadoop zijn gedefinieerd, zijn;

  • TextInputFormat
  • KeyValueInputFormat
  • SequenceFileInputFormat

28) Wat is InputSplit in Hadoop?

Het splitst invoerbestanden in brokken en wijst elke splitsing toe aan een mapper voor verwerking.

29) Hoe schrijft u een aangepaste partitie voor een Hadoop-taak?

U schrijft een aangepaste partitie voor een Hadoop-taak, u volgt het volgende pad

  • Maak een nieuwe klasse die Partitioner Class uitbreidt
  • Methode getPartition overschrijven
  • In de wrapper waarop het MapReduce
  • Voeg de aangepaste partitioner toe aan de job met behulp van de methode set Partitioner Class of - voeg de aangepaste partitioner toe aan de job als een configuratiebestand

30) Is het voor een taak in Hadoop mogelijk om het aantal te maken mappers te wijzigen?

Nee, het is niet mogelijk om het aantal aan te maken mappers te wijzigen. Het aantal mappers wordt bepaald door het aantal invoersplitsingen.

31) Leg uit wat een sequentiebestand in Hadoop is?

Om binaire sleutel / waarde-paren op te slaan, wordt een sequentiebestand gebruikt. In tegenstelling tot een normaal gecomprimeerd bestand, ondersteunt sequentiebestand het splitsen, zelfs als de gegevens in het bestand zijn gecomprimeerd.

32) Wat gebeurt er met de job-tracker als Namenode niet beschikbaar is?

Namenode is het enige storingspunt in HDFS, dus als Namenode niet beschikbaar is, wordt uw cluster geactiveerd.

33) Leg uit hoe indexeren in HDFS gebeurt?

Hadoop heeft een unieke manier van indexeren. Zodra de gegevens zijn opgeslagen volgens de blokgrootte, blijft de HDFS het laatste deel van de gegevens opslaan die aangeven waar het volgende deel van de gegevens zal zijn.

34) Leg uit of het mogelijk is om met jokertekens naar bestanden te zoeken?

Ja, het is mogelijk om met jokertekens naar bestanden te zoeken.

35) Maak een lijst van de drie configuratiebestanden van Hadoop?

De drie configuratiebestanden zijn

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

36) Leg uit hoe je kunt controleren of Namenode werkt naast het jps-commando?

Naast het gebruik van het jps-commando, kunt u ook gebruiken om te controleren of Namenode werkt

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

37) Leg uit wat is "kaart" en wat is "reducer" in Hadoop?

In Hadoop is een kaart een fase in het oplossen van HDFS-query's. Een kaart leest gegevens van een invoerlocatie en voert een sleutelwaardepaar uit volgens het invoertype.

In Hadoop verzamelt een reducer de output die door de mapper wordt gegenereerd, verwerkt deze en creëert een eigen uiteindelijke output.

38) Welk bestand regelt in Hadoop de rapportage in Hadoop?

In Hadoop beheert het bestand hadoop-metrics.properties de rapportage.

39) Voor het gebruik van Hadoop de netwerkvereisten vermelden?

Voor het gebruik van Hadoop is de lijst met netwerkvereisten:

  • Wachtwoordloze SSH-verbinding
  • Secure Shell (SSH) voor het starten van serverprocessen

40) Wat is rack-awareness?

Rack awareness is de manier waarop de namenode bepaalt hoe blokken geplaatst moeten worden op basis van de rackdefinities.

41) Leg uit wat een Task Tracker is in Hadoop?

Een Task Tracker in Hadoop is een daemon van een slaafknooppunt in het cluster die taken van een JobTracker accepteert. Het stuurt ook om de paar minuten de heartbeat-berichten naar de JobTracker om te bevestigen dat de JobTracker nog steeds actief is.

42) Noem welke daemons draaien op een master node en slave nodes?

  • Daemons die op het masterknooppunt worden uitgevoerd, is "NameNode"
  • Daemons die op elke Slave-knooppunt worden uitgevoerd, zijn "Task Tracker" en "Data"

43) Leg uit hoe u Hadoop-code kunt debuggen?

De populaire methoden voor het debuggen van Hadoop-code zijn:

  • Door een webinterface te gebruiken die wordt geboden door het Hadoop-framework
  • Door tellers te gebruiken

44) Leg uit wat opslag- en rekenknooppunten zijn?

  • Het opslagknooppunt is de machine of computer waarop uw bestandssysteem zich bevindt om de verwerkingsgegevens op te slaan
  • Het rekenknooppunt is de computer of machine waarop uw werkelijke bedrijfslogica wordt uitgevoerd.

45) Wat is het nut van Context Object?

Het Context-object stelt de mapper in staat om te communiceren met de rest van de Hadoop

systeem. Het bevat configuratiegegevens voor de taak, evenals interfaces waarmee het uitvoer kan uitzenden.

46) Noem wat de volgende stap is na Mapper of MapTask?

De volgende stap na Mapper of MapTask is dat de uitvoer van de Mapper wordt gesorteerd en er partities voor de uitvoer worden gemaakt.

47) Wat is het aantal standaardpartitioners in Hadoop?

In Hadoop is de standaard partitioner een "Hash" -partitioner.

48) Leg uit wat het doel is van RecordReader in Hadoop?

In Hadoop laadt de RecordReader de gegevens van de bron en converteert deze naar (sleutel, waarde) paren die geschikt zijn om door de Mapper te worden gelezen.

49) Leg uit hoe de gegevens worden gepartitioneerd voordat ze naar de reducer worden gestuurd als er geen aangepaste partitionering is gedefinieerd in Hadoop?

Als er geen aangepaste partitioner is gedefinieerd in Hadoop, berekent een standaard partitioner een hash-waarde voor de sleutel en wijst de partitie toe op basis van het resultaat.

50) Leg uit wat er gebeurt als Hadoop 50 taken voor een taak heeft voortgebracht en een van de taken is mislukt?

Het zal de taak opnieuw starten op een andere TaskTracker als de taak meer mislukt dan de gedefinieerde limiet.

51) Wat is de beste manier om bestanden tussen HDFS-clusters te kopiëren?

De beste manier om bestanden tussen HDFS-clusters te kopiëren, is door meerdere knooppunten en de opdracht distcp te gebruiken, zodat de werklast wordt gedeeld.

52) Wat is het verschil tussen HDFS en NAS?

HDFS-gegevensblokken worden gedistribueerd over lokale schijven van alle machines in een cluster, terwijl NAS-gegevens worden opgeslagen op speciale hardware.

53) Geef aan hoe Hadoop verschilt van andere tools voor gegevensverwerking?

In Hadoop kunt u het aantal mappers vergroten of verkleinen zonder dat u zich zorgen hoeft te maken over de hoeveelheid te verwerken gegevens.

54) Noem wat voor werk de conf class?

Job conf class scheidt verschillende jobs die op hetzelfde cluster worden uitgevoerd. Het voert de instellingen op taakniveau uit, zoals het aangeven van een taak in een echte omgeving.

55) Wat is het Hadoop MapReduce API-contract voor een sleutel- en waardeklasse?

Voor een sleutel- en waardeklasse zijn er twee Hadoop MapReduce API-contracten

  • De waarde moet de interface org.apache.hadoop.io.Writable definiëren
  • De sleutel moet de interface org.apache.hadoop.io.WritableComparable definiëren

56) Wat zijn de drie modi waarin Hadoop kan worden uitgevoerd?

De drie modi waarin Hadoop kan worden uitgevoerd, zijn

  • Pseudo-gedistribueerde modus
  • Standalone (lokale) modus
  • Volledig gedistribueerde modus

57) Wat doet het tekstinvoerformaat?

Het tekstinvoerformaat zal een lijnobject creëren dat een hexadecimaal getal is. De waarde wordt beschouwd als een hele regel tekst terwijl de sleutel wordt beschouwd als een lijnobject. De mapper ontvangt de waarde als 'text'-parameter, terwijl key als' longwriteable'-parameter.

58) Geef aan hoeveel InputSplits er gemaakt worden door een Hadoop Framework?

Hadoop maakt 5 splitsingen

  • 1 split voor 64K bestanden
  • 2 splitsen voor bestanden van 65 MB
  • 2 splitsingen voor 127 MB-bestanden

59) Wat is gedistribueerde cache in Hadoop?

Gedistribueerde cache in Hadoop is een faciliteit die wordt geboden door het MapReduce-framework. Op het moment dat de taak wordt uitgevoerd, wordt het gebruikt om het bestand in de cache op te slaan. Het Framework kopieert de benodigde bestanden naar het slaafknooppunt voordat een taak op dat knooppunt wordt uitgevoerd.

60) Leg uit hoe Hadoop Classpath een cruciale rol speelt bij het stoppen of starten in Hadoop-daemons?

Classpath zal bestaan ​​uit een lijst met mappen met jar-bestanden om daemons te stoppen of te starten.