30+ Hadoop-intervjuspørsmål og svar

Vel, statistikk fra Forbes sier at opptil 90 % av verdens organisasjoner bruker Big Data-analyse for å lage investeringsrapporter.

Med den økende populariteten til Big Data, er det følgelig en økning i Hadoop jobbmuligheter mer enn før.

Derfor, for å hjelpe deg med å få den Hadoop-ekspertrollen, kan du bruke disse intervjuspørsmålene og svarene vi har satt sammen for deg i denne artikkelen for å hjelpe deg med å komme deg gjennom intervjuet.

Kanskje det å kjenne til fakta som lønnsomfang som gjør Hadoop- og Big Data-roller lukrative vil motivere deg til å bestå intervjuet, ikke sant? 🤔

  • Ifølge indeed.com tjener en USA-basert Big Data Hadoop-utvikler en gjennomsnittslønn på $144 000.
  • I følge itjobswatch.co.uk er gjennomsnittslønnen til en Big Data Hadoop-utvikler £66 750.
  • I India oppgir kilden indeed.com at de ville tjene en gjennomsnittslønn på 16 00 000 INR.

Innbringende, synes du ikke? La oss nå hoppe inn for å lære om Hadoop.

Hva er Hadoop?

Hadoop er et populært rammeverk skrevet i Java som bruker programmeringsmodeller til å behandle, lagre og analysere store sett med data.

Som standard tillater designen oppskalering fra enkeltservere til flere maskiner som tilbyr lokal beregning og lagring. I tillegg gjør dens evne til å oppdage og håndtere applikasjonslagsfeil som resulterer i svært tilgjengelige tjenester Hadoop ganske pålitelig.

La oss hoppe rett inn i de vanlige Hadoop-intervjuspørsmålene og de riktige svarene deres.

Hadoops intervjuspørsmål og svar

Hva er lagringsenheten i Hadoop?

Svar: Hadoops lagringsenhet kalles Hadoop Distributed File System (HDFS).

Hvordan er Network Attached Storage forskjellig fra Hadoop Distributed File System?

Svar: HDFS, som er Hadoops primære lagringsplass, er et distribuert filsystem som lagrer massive filer ved hjelp av råvaremaskinvare. På den annen side er NAS en datalagringsserver på filnivå som gir heterogene klientgrupper tilgang til dataene.

Mens datalagring i NAS er på dedikert maskinvare, distribuerer HDFS datablokkene på tvers av alle maskiner i Hadoop-klyngen.

NAS bruker avanserte lagringsenheter, noe som er ganske kostbart, mens råvaremaskinvaren som brukes i HDFS er kostnadseffektiv.

NAS lagrer data fra beregninger separat og gjør den derfor uegnet for MapReduce. Tvert imot lar HDFS design det fungere med MapReduce-rammeverket. Beregninger flytter til dataene i MapReduce-rammeverket i stedet for data til beregninger.

Forklar MapReduce i Hadoop og Shuffling

Svar: MapReduce refererer til to forskjellige oppgaver Hadoop-programmer utfører for å muliggjøre stor skalerbarhet på tvers av hundrevis til tusenvis av servere i en Hadoop-klynge. Blanding, derimot, overfører kartutdata fra Mappers til den nødvendige Reducer i MapReduce.

  6 beste desktop bildebehandlingsløsninger for å distribuere OS

Gi et innblikk i Apache Pig Architecture

Apache-grisearkitekturen

Svar: Apache Pig-arkitektur har en Pig Latin-tolk som behandler og analyserer store datasett ved hjelp av Pig Latin-skript.

Apache pig består også av sett med datasett som dataoperasjoner som join, load, filter, sort og group utføres på.

Pig Latin-språket bruker utførelsesmekanismer som Grant-skall, UDF-er og innebygde for å skrive Pig-skript som utfører nødvendige oppgaver.

Pig gjør programmerers arbeid enklere ved å konvertere disse skrevne skriptene til Map-Reduce-jobbserier.

Apache Pig-arkitekturkomponenter inkluderer:

  • Parser – Den håndterer Pig-skriptene ved å sjekke skriptets syntaks og utføre typekontroll. Parserens utgang representerer Pig Latin sine utsagn og logiske operatorer og kalles DAG (rettet asyklisk graf).
  • Optimizer – Optimizeren implementerer logiske optimaliseringer som projeksjon og pushdown på DAG.
  • Kompilator – Kompilerer den optimaliserte logiske planen fra optimalisereren til en serie med MapReduce-jobber.
  • Utførelsesmotor – Det er her den endelige utførelsen av MapReduce-jobbene til ønsket utgang skjer.
  • Utførelsesmodus – Utførelsesmodusene i Apache pig inkluderer hovedsakelig lokal og Map Reduce.

Svar: Metastore-tjenesten i Local Metastore kjører i samme JVM som Hive, men kobles til en database som kjører i en separat prosess på samme eller en ekstern maskin. På den annen side kjører Metastore i Remote Metastore i sin JVM atskilt fra Hive-tjenesten JVM.

Hva er de fem V-ene til Big Data?

Svar: Disse fem V-ene står for Big Datas hovedegenskaper. De inkluderer:

  • Verdi: Big data søker å gi betydelige fordeler fra høy avkastning på investeringen (ROI) til en organisasjon som bruker big data i sine dataoperasjoner. Big data henter denne verdien fra sin innsiktsoppdagelse og mønstergjenkjenning, noe som resulterer i sterkere kunderelasjoner og mer effektiv drift, blant andre fordeler.
  • Variasjon: Dette representerer heterogeniteten til typen datatyper som samles inn. De ulike formatene inkluderer CSV, videoer, lyd osv.
  • Volum: Dette definerer den betydelige mengden og størrelsen på data som administreres og analyseres av en organisasjon. Disse dataene viser eksponentiell vekst.
  • Hastighet: Dette er den eksponentielle hastigheten for datavekst.
  • Sannhet: Sannhet refererer til hvor «usikre» eller «unøyaktige» data som er tilgjengelige, skyldes at data er ufullstendige eller inkonsekvente.

Forklar ulike datatyper av griselatin.

Svar: Datatypene i Pig Latin inkluderer atomdatatyper og komplekse datatyper.

Atomic datatypene er de grunnleggende datatypene som brukes på alle andre språk. De inkluderer følgende:

  • Int – Denne datatypen definerer et fortegnet 32-bits heltall. Eksempel: 13
  • Lang – Lang definerer et 64-bits heltall. Eksempel: 10L
  • Float – Definerer et signert 32-bits flytende punkt. Eksempel: 2,5F
  • Dobbel – Definerer et signert 64-bits flytende punkt. Eksempel: 23.4
  • Boolsk – Definerer en boolsk verdi. Det inkluderer: Sant/usant
  • Datetime – Definerer en dato-tid-verdi. Eksempel: 1980-01-01T00:00.00.000+00:00

Komplekse datatyper inkluderer:

  • Kart- Kart refererer til et nøkkelverdi-parsett. Eksempel: [‘color’#’yellow’, ‘number’#3]
  • Bag – Det er en samling av et sett med tupler, og den bruker «{}»-symbolet. Eksempel: {(Henry, 32), (Kiti, 47)}
  • Tuppel – En tuppel definerer et ordnet sett med felt. Eksempel: (Alder, 33)

Hva er Apache Oozie og Apache ZooKeeper?

Svar: Apache Oozie er en Hadoop-planlegger som har ansvaret for å planlegge og binde Hadoop-jobber sammen som et enkelt logisk arbeid.

Apache Zookeeper på sin side koordinerer med ulike tjenester i et distribuert miljø. Det sparer utviklerne for tid ved ganske enkelt å avsløre enkle tjenester som synkronisering, gruppering, konfigurasjonsvedlikehold og navngivning. Apache Zookeeper gir også hyllestøtte for kø- og ledervalg.

  Hva er bedre mellom Romer G vs Cherry MX?

Hva er rollen til Combiner, RecordReader og Partitioner i en MapReduce-operasjon?

Svar: Kombineren fungerer som en minireduksjon. Den mottar og arbeider på data fra kartoppgaver og sender deretter dataens utdata til reduksjonsfasen.

RecordHeader kommuniserer med InputSplit og konverterer dataene til nøkkelverdi-par slik at kartleggeren kan lese på passende måte.

Partisjonereren er ansvarlig for å bestemme antall reduserte oppgaver som kreves for å oppsummere data og bekrefte hvordan kombineringsutgangene sendes til reduseringsenheten. Partitioner kontrollerer også nøkkelpartisjonering av de mellomliggende kartutgangene.

Nevn ulike leverandørspesifikke distribusjoner av Hadoop.

Svar: De forskjellige leverandørene som utvider Hadoop-funksjonene inkluderer:

  • IBM åpen plattform.
  • Cloudera CDH Hadoop-distribusjon
  • MapR Hadoop Distribusjon
  • Amazon Elastic MapReduce
  • Hortonworks Data Platform (HDP)
  • Pivotal Big Data Suite
  • Datastax Enterprise Analytics
  • Microsoft Azures HDInsight – skybasert Hadoop-distribusjon.

Hvorfor er HDFS feiltolerant?

Svar: HDFS replikerer data på forskjellige DataNodes, noe som gjør dem feiltolerante. Lagring av data i forskjellige noder tillater henting fra andre noder når en modus krasjer.

Skille mellom en føderasjon og høy tilgjengelighet.

Svar: HDFS Federation tilbyr feiltoleranse som tillater kontinuerlig dataflyt i én node når en annen krasjer. På den annen side vil høy tilgjengelighet kreve at to separate maskiner konfigurerer den aktive NameNode og den sekundære NameNode på den første og andre maskinen separat.

Federation kan ha et ubegrenset antall urelaterte navnenoder, mens i høy tilgjengelighet er kun to relaterte navnenoder, aktive og standby, som jobber kontinuerlig, tilgjengelige.

NameNodes i føderasjonen deler en metadatapool, der hver NameNode har sin dedikerte pool. I High Availability kjører imidlertid de aktive NameNodene hver av gangen mens standby-NameNodene forblir inaktive og bare oppdaterer metadataene av og til.

Hvordan finne statusen til blokker og filsystemhelse?

Svar: Du bruker hdfs fsck / kommandoen på både rotbrukernivå og en individuell katalog for å sjekke HDFS-filsystemets helsestatus.

HDFS fsck kommando i bruk:

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

Kommandoens beskrivelse:

  • -filer: Skriv ut filene du sjekker.
  • –plasseringer: Skriver ut alle blokkenes plassering mens du sjekker.

Kommando for å sjekke statusen til blokkene:

hdfs fsck <path> -files -blocks
  • : Begynner sjekkene fra banen som er passert her.
  • – blokker: Den skriver ut filblokkene under kontroll

Når bruker du kommandoene rmadmin-refreshNodes og dfsadmin-refreshNodes?

Svar: Disse to kommandoene er nyttige for å oppdatere nodeinformasjon enten under igangkjøring eller når nodeoppstart er fullført.

Kommandoen dfsadmin-refreshNodes kjører HDFS-klienten og oppdaterer NameNodes nodekonfigurasjon. Kommandoen rmadmin-refreshNodes, på den andre, utfører ResourceManagers administrative oppgaver.

Hva er et sjekkpunkt?

Svar: Sjekkpunkt er en operasjon som slår sammen filsystemets siste endringer med det nyeste FSImage slik at redigeringsloggfilene forblir små nok til å fremskynde prosessen med å starte en NameNode. Sjekkpunkt oppstår i den sekundære navnenoden.

Hvorfor bruker vi HDFS for applikasjoner som har store datasett?

Svar: HDFS gir en DataNode- og NameNode-arkitektur som implementerer et distribuert filsystem.

Disse to arkitekturene gir høyytelsestilgang til data over svært skalerbare klynger av Hadoop. Dens NameNode lagrer filsystemets metadata i RAM, noe som resulterer i at mengden minne begrenser antallet HDFS-filsystemfiler.

Hva gjør «jps»-kommandoen?

Svar: Kommandoen Java Virtual Machine Process Status (JPS) sjekker om spesifikke Hadoop-demoner, inkludert NodeManager, DataNode, NameNode og ResourceManager, kjører eller ikke. Denne kommandoen er nødvendig for å kjøre fra roten for å sjekke driftsnodene i verten.

Hva er «Spekulativ utførelse» i Hadoop?

Svar: Dette er en prosess der masternoden i Hadoop, i stedet for å fikse oppdagede trege oppgaver, starter en annen forekomst av samme oppgave som en backup-oppgave (spekulativ oppgave) på en annen node. Spekulativ utførelse sparer mye tid, spesielt i et miljø med intensiv arbeidsbelastning.

Nevn de tre modusene som Hadoop kan kjøre i.

Svar: De tre primærnodene som Hadoop kjører på inkluderer:

  • Frittstående node er standardmodusen som kjører Hadoop-tjenestene ved å bruke det lokale filsystemet og en enkelt Java-prosess.
  • Pseudo-distribuert Node kjører alle Hadoop-tjenester ved å bruke en enkelt ode Hadoop-distribusjon.
  • Fullt distribuert Node kjører Hadoop master- og slavetjenester ved å bruke separate noder.

Hva er en UDF?

Svar: UDF (User Defined Functions) lar deg kode dine egendefinerte funksjoner som du kan bruke til å behandle kolonneverdier under en Impala-spørring.

Hva er DistCp?

Svar: DistCp eller Distributed Copy, kort fortalt, er et nyttig verktøy for stor inter- eller intra-cluster-kopiering av data. Ved å bruke MapReduce implementerer DistCp effektivt den distribuerte kopien av en stor mengde data, blant andre oppgaver som feilhåndtering, gjenoppretting og rapportering.

Svar: Hive metastore er en tjeneste som lagrer Apache Hive-metadata for Hive-tabellene i en relasjonsdatabase som MySQL. Det gir metastore-tjenestens API som gir cent tilgang til metadataene.

Definer RDD.

Svar: RDD, som står for Resilient Distributed Datasets, er Sparks datastruktur og en uforanderlig distribuert samling av dataelementene dine som beregner på de forskjellige klyngenodene.

Hvordan kan innfødte biblioteker inkluderes i YARN-jobber?

Svar: Du kan implementere dette enten ved å bruke -Djava.library. banealternativet på kommandoen eller ved å sette LD+LIBRARY_PATH i .bashrc-filen med følgende format:

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

Forklar «WAL» i HBase.

Svar: Write Ahead Log (WAL) er en gjenopprettingsprotokoll som registrerer MemStore-dataendringer i HBase til den filbaserte lagringen. WAL gjenoppretter disse dataene hvis RegionalServer krasjer eller før tømming av MemStore.

Er GARN en erstatning for Hadoop MapReduce?

Svar: Nei, YARN er ikke en Hadoop MapReduce-erstatning. I stedet støtter en kraftig teknologi kalt Hadoop 2.0 eller MapReduce 2 MapReduce.

Hva er forskjellen mellom ORDER BY og SORT BY i HIVE?

Svar: Mens begge kommandoene henter data på en sortert måte i Hive, kan resultater fra bruk av SORT BY bare bestilles delvis.

I tillegg krever SORT BY en redusering for å bestille radene. Disse reduksjonselementene som kreves for den endelige utgangen kan også være flere. I dette tilfellet kan den endelige utgangen være delvis bestilt.

På den annen side krever ORDER BY kun én reduksjonsgir for en total ordre i produksjon. Du kan også bruke nøkkelordet LIMIT som reduserer den totale sorteringstiden.

Hva er forskjellen mellom Spark og Hadoop?

Svar: Mens både Hadoop og Spark er distribuerte prosesseringsrammer, er deres viktigste forskjell behandlingen. Der Hadoop er effektiv for batchbehandling, er Spark effektiv for sanntidsdatabehandling.

I tillegg leser og skriver Hadoop hovedsakelig filer til HDFS, mens Spark bruker Resilient Distributed Dataset-konseptet til å behandle data i RAM.

Basert på deres latens, er Hadoop et databehandlingsrammeverk med høy latens uten en interaktiv modus for å behandle data, mens Spark er et databehandlingsrammeverk med lav latens som behandler data interaktivt.

Sammenlign Sqoop og Flume.

Svar: Sqoop og Flume er Hadoop-verktøy som samler inn data samlet inn fra ulike kilder og laster dataene inn i HDFS.

  • Sqoop(SQL-til-Hadoop) trekker ut strukturerte data fra databaser, inkludert Teradata, MySQL, Oracle, etc., mens Flume er nyttig for å trekke ut ustrukturerte data fra databasekilder og laste dem inn i HDFS.
  • Når det gjelder drevne hendelser, er Flume hendelsesdrevet, mens Sqoop ikke er drevet av hendelser.
  • Sqoop bruker en koblingsbasert arkitektur der koblinger vet hvordan de skal koble til en annen datakilde. Flume bruker en agentbasert arkitektur, der koden skrevet er agenten som har ansvaret for å hente dataene.
  • På grunn av Flumes distribuerte natur, kan den enkelt samle inn og aggregere data. Sqoop er nyttig for parallell dataoverføring, noe som resulterer i at utdataene er i flere filer.

Forklar BloomMapFile.

Svar: BloomMapFile er en klasse som utvider MapFile-klassen og bruker dynamiske bloom-filtre som gir en rask medlemskapstest for nøkler.

List opp forskjellen mellom HiveQL og PigLatin.

Svar: Mens HiveQL er et deklarativt språk som ligner på SQL, er PigLatin et prosessuelt dataflytspråk på høyt nivå.

Hva er datarensing?

Svar: Datarensing er en avgjørende prosess for å bli kvitt eller fikse identifiserte datafeil som inkluderer uriktige, ufullstendige, korrupte, dupliserte og feilformaterte data i et datasett.

Denne prosessen tar sikte på å forbedre kvaliteten på data og gi mer nøyaktig, konsistent og pålitelig informasjon som er nødvendig for effektiv beslutningstaking i en organisasjon.

Konklusjon💃

Med den nåværende økningen i Big data og Hadoop-jobbmuligheter, vil du kanskje øke sjansene dine for å komme inn. Denne artikkelens Hadoop-intervjuspørsmål og svar vil hjelpe deg med å klare det kommende intervjuet.

Deretter kan du sjekke ut gode ressurser for å lære Big Data og Hadoop.

Lykke til! 👍