30+ Hadoop-interviewvragen en -antwoorden

Welnu, statistieken van Forbes stellen dat tot 90% van de wereldorganisaties Big Data-analyses gebruiken om hun investeringsrapporten te maken.

Met de toenemende populariteit van Big Data zijn er meer dan voorheen vacatures voor Hadoop.

Om je te helpen die Hadoop-expertrol te krijgen, kun je daarom deze interviewvragen en -antwoorden gebruiken die we in dit artikel voor je hebben samengesteld om je te helpen door je interview te komen.

Misschien zal het kennen van de feiten, zoals het salarisbereik die Hadoop- en Big Data-rollen lucratief maken, je motiveren om voor dat interview te slagen, toch? 🤔

  • Volgens Indeed.com verdient een in de VS gevestigde Big Data Hadoop-ontwikkelaar een gemiddeld salaris van $ 144.000.
  • Volgens itjobswatch.co.uk is het gemiddelde salaris van een Big Data Hadoop-ontwikkelaar £66.750.
  • In India stelt de Indeed.com-bron dat ze een gemiddeld salaris van ₹ 16.00.000 zouden verdienen.

Lucratief, vind je niet? Laten we nu beginnen om meer te weten te komen over Hadoop.

Wat is Hadoop?

Hadoop is een populair framework geschreven in Java dat programmeermodellen gebruikt om grote hoeveelheden gegevens te verwerken, op te slaan en te analyseren.

Het ontwerp maakt standaard schaalvergroting mogelijk van enkele servers naar meerdere machines die lokale berekeningen en opslag bieden. Bovendien maakt het vermogen om fouten in de applicatielaag te detecteren en af ​​te handelen, wat resulteert in zeer beschikbare services, Hadoop behoorlijk betrouwbaar.

Laten we direct ingaan op de veelgestelde Hadoop-interviewvragen en hun juiste antwoorden.

Interviewvragen en antwoorden van Hadoop

Wat is de opslageenheid in Hadoop?

Antwoord: De opslageenheid van Hadoop wordt het Hadoop Distributed File System (HDFS) genoemd.

Hoe verschilt Network Attached Storage van Hadoop Distributed File System?

Antwoord: HDFS, de primaire opslag van Hadoop, is een gedistribueerd bestandssysteem dat enorme bestanden opslaat met standaardhardware. Aan de andere kant is NAS een computergegevensopslagserver op bestandsniveau die heterogene klantgroepen toegang geeft tot de gegevens.

Terwijl gegevensopslag in NAS op speciale hardware gebeurt, verdeelt HDFS de gegevensblokken over alle machines binnen het Hadoop-cluster.

NAS maakt gebruik van hoogwaardige opslagapparaten, wat nogal duur is, terwijl de basishardware die in HDFS wordt gebruikt, kosteneffectief is.

NAS slaat afzonderlijk gegevens van berekeningen op, waardoor het ongeschikt is voor MapReduce. Integendeel, dankzij het ontwerp van HDFS kan het werken met het MapReduce-framework. Berekeningen gaan naar de gegevens in het MapReduce-framework in plaats van gegevens naar berekeningen.

Leg MapReduce uit in Hadoop en Shuffling

Antwoord: MapReduce verwijst naar twee verschillende taken die Hadoop-programma’s uitvoeren om grote schaalbaarheid mogelijk te maken over honderden tot duizenden servers binnen een Hadoop-cluster. Schudden daarentegen brengt kaartuitvoer van Mappers over naar de noodzakelijke Reducer in MapReduce.

Geef een kijkje in de Apache Pig-architectuur

De Apache Pig-architectuur

Antwoord: Apache Pig-architectuur heeft een Pig Latin-interpreter die grote datasets verwerkt en analyseert met behulp van Pig Latin-scripts.

Apache Pig bestaat ook uit datasets waarop databewerkingen zoals joinen, laden, filteren, sorteren en groeperen worden uitgevoerd.

  10 Python Cheat Sheets voor ontwikkelaars om te bookmarken

De Latijnse taal van Pig gebruikt uitvoeringsmechanismen zoals Grant-shells, UDF’s en ingesloten voor het schrijven van Pig-scripts die de vereiste taken uitvoeren.

Pig maakt het werk van programmeurs gemakkelijker door deze geschreven scripts om te zetten in Map-Reduce-takenreeksen.

Apache Pig-architectuurcomponenten omvatten:

  • Parser – Het behandelt de Pig-scripts door de syntaxis van het script te controleren en typecontrole uit te voeren. De uitvoer van de parser vertegenwoordigt de verklaringen en logische operatoren van Pig Latin en wordt DAG (directed acyclic graph) genoemd.
  • Optimizer – De optimizer implementeert logische optimalisaties zoals projectie en pushdown op de DAG.
  • Compiler – Compileert het geoptimaliseerde logische plan van de optimizer in een reeks MapReduce-taken.
  • Execution Engine – Dit is waar de uiteindelijke uitvoering van de MapReduce-taken in de gewenste uitvoer plaatsvindt.
  • Uitvoeringsmodus – De uitvoeringsmodi in Apache Pig omvatten voornamelijk lokaal en Map Reduce.

Antwoord: De Metastore-service in Local Metastore draait in dezelfde JVM als Hive, maar maakt verbinding met een database die in een apart proces draait op dezelfde of een externe machine. Aan de andere kant draait Metastore in de Remote Metastore in zijn JVM los van Hive-service JVM.

Wat zijn de vijf V’s van Big Data?

Antwoord: Deze vijf V’s staan ​​voor de belangrijkste kenmerken van Big Data. Ze bevatten:

  • Waarde: Big data streeft naar aanzienlijke voordelen van een hoge Return on Investment (ROI) voor een organisatie die big data gebruikt in haar dataactiviteiten. Big data brengt deze waarde voort uit het ontdekken van inzichten en patroonherkenning, wat onder andere resulteert in sterkere klantrelaties en effectievere operaties.
  • Verscheidenheid: dit vertegenwoordigt de heterogeniteit van het type verzamelde gegevenstypen. De verschillende formaten omvatten CSV, video’s, audio, enz.
  • Volume: dit definieert de aanzienlijke hoeveelheid en omvang van gegevens die door een organisatie worden beheerd en geanalyseerd. Deze gegevens laten een exponentiële groei zien.
  • Velocity: Dit is de exponentiële snelheid voor gegevensgroei.
  • Waarachtigheid: Waarachtigheid verwijst naar hoe ‘onzeker’ of ‘onnauwkeurig’ de beschikbare gegevens zijn doordat gegevens onvolledig of inconsistent zijn.

Leg verschillende gegevenstypen van varkenslatijn uit.

Antwoord: De gegevenstypen in Pig Latin omvatten atomaire gegevenstypen en complexe gegevenstypen.

De Atomic-gegevenstypen zijn de basisgegevenstypen die in elke andere taal worden gebruikt. Ze omvatten het volgende:

  • Int – Dit gegevenstype definieert een 32-bits geheel getal met teken. Voorbeeld: 13
  • Lang – Lang definieert een 64-bits geheel getal. Voorbeeld: 10L
  • Float – Definieert een 32-bits drijvende komma met teken. Voorbeeld: 2.5F
  • Dubbel – Definieert een 64-bits drijvende komma met teken. Voorbeeld: 23.4
  • Boolean – Definieert een Booleaanse waarde. Het bevat: waar/niet waar
  • Datetime – Definieert een datum-tijdwaarde. Voorbeeld: 1980-01-01T00:00.00.000+00:00

Complexe gegevenstypen zijn onder meer:

  • Map-Map verwijst naar een set sleutel-waardeparen. Voorbeeld: [‘color’#’yellow’, ‘number’#3]
  • Bag – Het is een verzameling van een set tuples en gebruikt het ‘{}’-symbool. Voorbeeld: {(Henry, 32), (Kiti, 47)}
  • Tuple – Een tuple definieert een geordende set velden. Voorbeeld: (Leeftijd, 33)

Wat zijn Apache Oozie en Apache ZooKeeper?

Antwoord: Apache Oozie is een Hadoop-planner die verantwoordelijk is voor het plannen en binden van Hadoop-taken als een enkel logisch werk.

Apache Zookeeper coördineert daarentegen met verschillende services in een gedistribueerde omgeving. Het bespaart de ontwikkelaars tijd door simpelweg eenvoudige services zoals synchronisatie, groepering, configuratieonderhoud en naamgeving bloot te leggen. Apache Zookeeper biedt ook kant-en-klare ondersteuning voor wachtrijen en verkiezing van leiders.

Wat is de rol van de Combiner, RecordReader en Partitioner in een MapReduce-operatie?

Antwoord: De combiner werkt als een mini-verloopstuk. Het ontvangt en bewerkt gegevens van kaarttaken en geeft vervolgens de uitvoer van de gegevens door aan de reductiefase.

De RecordHeader communiceert met de InputSplit en zet de gegevens om in sleutel-waardeparen die de mapper goed kan lezen.

De Partitioner is verantwoordelijk voor het bepalen van het aantal gereduceerde taken dat nodig is om gegevens samen te vatten en om te bevestigen hoe de combiner-outputs naar de reducer worden gestuurd. De Partitioner regelt ook de sleutelpartitionering van de tussentijdse kaartuitvoer.

Noem verschillende leveranciersspecifieke distributies van Hadoop.

Antwoord: De verschillende leveranciers die Hadoop-mogelijkheden uitbreiden, zijn onder andere:

  • IBM Open-platform.
  • Cloudera CDH Hadoop-distributie
  • MapR Hadoop-distributie
  • Amazon Elastic MapReduce
  • Hortonworks-gegevensplatform (HDP)
  • Cruciale Big Data-suite
  • Datastax Enterprise-analyse
  • HDInsight van Microsoft Azure – Cloudgebaseerde Hadoop-distributie.

Waarom is HDFS fouttolerant?

Antwoord: HDFS repliceert gegevens op verschillende DataNodes, waardoor het fouttolerant is. Door de gegevens in verschillende knooppunten op te slaan, kunnen ze worden opgehaald uit andere knooppunten wanneer een modus crasht.

  Hoe u uw Gmail-account kunt verwijderen zonder uw Google-account te verwijderen

Maak onderscheid tussen een federatie en hoge beschikbaarheid.

Antwoord: HDFS Federation biedt fouttolerantie die een continue gegevensstroom in het ene knooppunt mogelijk maakt wanneer een ander crasht. Aan de andere kant vereist hoge beschikbaarheid dat twee afzonderlijke machines de actieve NameNode en de secundaire NameNode op de eerste en tweede machine afzonderlijk configureren.

Federatie kan een onbeperkt aantal niet-gerelateerde NameNodes hebben, terwijl bij hoge beschikbaarheid slechts twee gerelateerde NameNodes, actief en stand-by, die continu werken, beschikbaar zijn.

NameNodes in de federatie delen een metadatapool, waarbij elke NameNode zijn eigen pool heeft. In High Availability worden de actieve NameNodes echter stuk voor stuk uitgevoerd, terwijl de stand-by NameNodes inactief blijven en hun metadata slechts af en toe bijwerken.

Hoe de status van blokken en de gezondheid van het bestandssysteem te vinden?

Antwoord: U gebruikt de opdracht hdfs fsck / op zowel het root-gebruikersniveau als een individuele map om de gezondheidsstatus van het HDFS-bestandssysteem te controleren.

HDFS fsck-opdracht in gebruik:

hdfs fsck / -files --blocks –locations> dfs-fsck.log

De beschrijving van het commando:

  • -bestanden: druk de bestanden af ​​die u aan het controleren bent.
  • –locaties: drukt de locaties van alle blokken af ​​tijdens het controleren.

Commando om de status van de blokken te controleren:

hdfs fsck <path> -files -blocks
  • : Begint de controles vanaf het hier doorgegeven pad.
  • – blokken: het drukt de bestandsblokken af ​​tijdens het controleren

Wanneer gebruikt u de opdrachten rmadmin-refreshNodes en dfsadmin-refreshNodes?

Antwoord: Deze twee commando’s zijn nuttig bij het vernieuwen van node-informatie tijdens de inbedrijfstelling of wanneer de inbedrijfstelling van de node is voltooid.

De opdracht dfsadmin-refreshNodes voert de HDFS-client uit en vernieuwt de knooppuntconfiguratie van de NameNode. De opdracht rmadmin-refreshNodes voert daarentegen de administratieve taken van ResourceManager uit.

Wat is een ijkpunt?

Antwoord: Checkpoint is een bewerking die de laatste wijzigingen van het bestandssysteem samenvoegt met de meest recente FSImage, zodat de bewerkingslogbestanden klein genoeg blijven om het proces van het starten van een NameNode te versnellen. Checkpoint vindt plaats in de secundaire NameNode.

Waarom gebruiken we HDFS voor applicaties met grote datasets?

Antwoord: HDFS biedt een DataNode- en NameNode-architectuur die een gedistribueerd bestandssysteem implementeert.

Deze twee architecturen bieden krachtige toegang tot gegevens via zeer schaalbare clusters van Hadoop. De NameNode slaat de metadata van het bestandssysteem op in RAM, wat ertoe leidt dat de hoeveelheid geheugen het aantal HDFS-bestandssysteembestanden beperkt.

Wat doet het ‘jps’-commando?

Antwoord: De opdracht Java Virtual Machine Process Status (JPS) controleert of specifieke Hadoop-daemons, waaronder NodeManager, DataNode, NameNode en ResourceManager, actief zijn of niet. Deze opdracht moet vanaf de root worden uitgevoerd om de operationele knooppunten in de host te controleren.

Wat is ‘Speculatieve uitvoering’ in Hadoop?

Antwoord: Dit is een proces waarbij het hoofdknooppunt in Hadoop, in plaats van gedetecteerde langzame taken te repareren, een ander exemplaar van dezelfde taak start als een back-uptaak ​​(speculatieve taak) op een ander knooppunt. Speculatieve uitvoering bespaart veel tijd, vooral in een omgeving met intensieve werkdruk.

Noem de drie modi waarin Hadoop kan worden uitgevoerd.

Antwoord: De drie primaire knooppunten waarop Hadoop draait, zijn:

  • Standalone Node is de standaardmodus waarin de Hadoop-services worden uitgevoerd met behulp van het lokale bestandssysteem en een enkel Java-proces.
  • Pseudo-distributed Node voert alle Hadoop-services uit met behulp van een enkele ode Hadoop-implementatie.
  • Volledig gedistribueerde Node voert Hadoop master- en slave-services uit met behulp van afzonderlijke nodes.

Wat is een UDF?

Antwoord: Met UDF (User Defined Functions) kunt u uw aangepaste functies coderen die u kunt gebruiken om kolomwaarden te verwerken tijdens een Impala-query.

Wat is DistCp?

Antwoord: DistCp of Distributed Copy, in het kort, is een handig hulpmiddel voor het kopiëren van grote hoeveelheden gegevens binnen of binnen een cluster. Met behulp van MapReduce implementeert DistCp effectief de gedistribueerde kopie van een grote hoeveelheid gegevens, naast andere taken zoals foutafhandeling, herstel en rapportage.

Antwoord: Hive metastore is een service die Apache Hive-metadata voor de Hive-tabellen opslaat in een relationele database zoals MySQL. Het biedt de metastore-service-API die cent toegang geeft tot de metadata.

Definieer RDD.

Antwoord: RDD, wat staat voor Resilient Distributed Datasets, is de gegevensstructuur van Spark en een onveranderlijke gedistribueerde verzameling van uw gegevenselementen die wordt berekend op de verschillende clusterknooppunten.

Hoe kunnen native bibliotheken worden opgenomen in YARN Jobs?

Antwoord: U kunt dit implementeren door ofwel -Djava.library te gebruiken. padoptie op de opdracht of door LD+LIBRARY_PATH in te stellen in .bashrc-bestand met de volgende indeling:

<property>
<name>mapreduce.map.env</name>
<value>LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/my/libs</value>
</property>

Leg ‘WAL’ uit in HBase.

Antwoord: Het Write Ahead Log (WAL) is een herstelprotocol dat MemStore-gegevenswijzigingen in HBase registreert naar de op bestanden gebaseerde opslag. WAL herstelt deze gegevens als de RegionalServer crasht of voordat de MemStore wordt leeggemaakt.

Is YARN een vervanging voor Hadoop MapReduce?

Antwoord: Nee, YARN is geen Hadoop MapReduce-vervanging. In plaats daarvan ondersteunt een krachtige technologie genaamd Hadoop 2.0 of MapReduce 2 MapReduce.

Wat is het verschil tussen ORDER BY en SORT BY in HIVE?

Antwoord: Hoewel beide opdrachten gegevens op een gesorteerde manier ophalen in Hive, kunnen de resultaten van het gebruik van SORT BY slechts gedeeltelijk worden geordend.

Bovendien vereist SORTEREN OP een verkleiner om de rijen te ordenen. Deze verloopstukken die nodig zijn voor de uiteindelijke output kunnen ook meerdere zijn. In dit geval kan de uiteindelijke uitvoer gedeeltelijk worden besteld.

Aan de andere kant heeft ORDER BY slechts één reducer nodig voor een totale order in output. U kunt ook het sleutelwoord LIMIT gebruiken dat de totale sorteertijd verkort.

Wat is het verschil tussen Spark en Hadoop?

Antwoord: Hoewel zowel Hadoop als Spark gedistribueerde verwerkingsframeworks zijn, is hun belangrijkste verschil hun verwerking. Waar Hadoop efficiënt is voor batchverwerking, is Spark efficiënt voor realtime gegevensverwerking.

Bovendien leest en schrijft Hadoop voornamelijk bestanden naar HDFS, terwijl Spark het Resilient Distributed Dataset-concept gebruikt om gegevens in RAM te verwerken.

Op basis van hun latentie is Hadoop een computerframework met hoge latentie zonder een interactieve modus om gegevens te verwerken, terwijl Spark een computerframework met lage latentie is dat gegevens interactief verwerkt.

Vergelijk Sqoop en Flume.

Antwoord: Sqoop en Flume zijn Hadoop-tools die gegevens verzamelen die uit verschillende bronnen zijn verzameld en de gegevens in HDFS laden.

  • Sqoop (SQL-naar-Hadoop) extraheert gestructureerde gegevens uit databases, waaronder Teradata, MySQL, Oracle, enz., Terwijl Flume handig is om ongestructureerde gegevens uit databasebronnen te extraheren en in HDFS te laden.
  • In termen van aangedreven gebeurtenissen is Flume gebeurtenisgestuurd, terwijl Sqoop niet wordt aangedreven door gebeurtenissen.
  • Sqoop gebruikt een op connectoren gebaseerde architectuur waarbij connectoren weten hoe ze verbinding moeten maken met een andere gegevensbron. Flume gebruikt een op agenten gebaseerde architectuur, waarbij de geschreven code de agent is die verantwoordelijk is voor het ophalen van de gegevens.
  • Vanwege het gedistribueerde karakter van Flume kan het gemakkelijk gegevens verzamelen en samenvoegen. Sqoop is handig voor parallelle gegevensoverdracht, waardoor de uitvoer zich in meerdere bestanden bevindt.

Leg de BloomMapFile uit.

Antwoord: De BloomMapFile is een klasse die de klasse MapFile uitbreidt en gebruikt dynamische bloeifilters die een snelle lidmaatschapstest voor sleutels bieden.

Noem het verschil tussen HiveQL en PigLatin.

Antwoord: Hoewel HiveQL een declaratieve taal is die lijkt op SQL, is PigLatin een procedurele datastroomtaal op hoog niveau.

Wat is gegevensopschoning?

Antwoord: Het opschonen van gegevens is een cruciaal proces voor het verwijderen of herstellen van geïdentificeerde gegevensfouten, waaronder onjuiste, onvolledige, corrupte, dubbele en verkeerd geformatteerde gegevens binnen een gegevensset.

Dit proces heeft tot doel de kwaliteit van de gegevens te verbeteren en nauwkeurigere, consistentere en betrouwbaardere informatie te verstrekken die nodig is voor efficiënte besluitvorming binnen een organisatie.

Conclusie💃

Met de huidige grote toename van de vacatures voor Big data en Hadoop, wilt u misschien uw kansen om binnen te komen vergroten. De Hadoop-interviewvragen en -antwoorden in dit artikel zullen u helpen dat aanstaande interview te verslaan.

Vervolgens kunt u goede bronnen bekijken om Big Data en Hadoop te leren kennen.

Veel succes! 👍

gerelateerde berichten