
Tja, statistik från Forbes anger att upp till 90 % av världens organisationer använder Big Data-analys för att skapa sina investeringsrapporter.
Med den ökande populariteten för Big Data finns det följaktligen en ökning av Hadoop-jobbmöjligheter mer än tidigare.
Därför, för att hjälpa dig att få den där Hadoop-expertrollen, kan du använda dessa intervjufrågor och svar som vi har sammanställt åt dig i den här artikeln för att hjälpa dig ta dig igenom din intervju.
Att känna till fakta som löneintervall som gör Hadoop- och Big Data-roller lukrativa kommer att motivera dig att klara den intervjun, eller hur? 🤔
- Enligt indeed.com tjänar en USA-baserad Big Data Hadoop-utvecklare en genomsnittlig lön på $144 000.
- Enligt itjobswatch.co.uk är en Big Data Hadoop-utvecklares genomsnittliga lön £66 750.
- I Indien uppger källan indeed.com att de skulle tjäna en genomsnittlig lön på 16 00 000 INR.
Vinstgivande, tycker du inte? Låt oss nu hoppa in för att lära oss om Hadoop.
Innehållsförteckning
Vad är Hadoop?
Hadoop är ett populärt ramverk skrivet i Java som använder programmeringsmodeller för att bearbeta, lagra och analysera stora uppsättningar data.
Som standard tillåter dess design uppskalning från enstaka servrar till flera maskiner som erbjuder lokal beräkning och lagring. Dessutom gör dess förmåga att upptäcka och hantera applikationslagerfel, vilket resulterar i högt tillgängliga tjänster, Hadoop ganska tillförlitlig.
Låt oss hoppa direkt in i de vanligaste Hadoop-intervjufrågorna och deras korrekta svar.
Hadoops intervjufrågor och svar
Vad är lagringsenheten i Hadoop?
Svar: Hadoops lagringsenhet kallas Hadoop Distributed File System (HDFS).
Hur skiljer sig Network Attached Storage från Hadoop Distributed File System?
Svar: HDFS, som är Hadoops primära lagring, är ett distribuerat filsystem som lagrar enorma filer med hjälp av råvaruhårdvara. Å andra sidan är NAS en datalagringsserver på filnivå som ger heterogena klientgrupper tillgång till data.
Medan datalagring i NAS sker på dedikerad hårdvara, distribuerar HDFS datablocken över alla maskiner inom Hadoop-klustret.
NAS använder avancerade lagringsenheter, vilket är ganska kostsamt, medan råvaruhårdvaran som används i HDFS är kostnadseffektiv.
NAS lagrar data från beräkningar separat, vilket gör den olämplig för MapReduce. Tvärtom tillåter HDFS design att den fungerar med MapReduce-ramverket. Beräkningar flyttas till data i MapReduce-ramverket istället för data till beräkningar.
Förklara MapReduce i Hadoop och Shuffling
Svar: MapReduce hänvisar till två distinkta uppgifter Hadoop-program utför för att möjliggöra stor skalbarhet över hundratals till tusentals servrar inom ett Hadoop-kluster. Blandning, å andra sidan, överför kartutdata från Mappers till den nödvändiga Reducer i MapReduce.
Ge en glimt av Apache Pig Architecture
Apache-grisarkitekturen
Svar: Apache Pig-arkitektur har en Pig Latin-tolk som bearbetar och analyserar stora datamängder med hjälp av Pig Latin-skript.
Apache pig består också av uppsättningar datauppsättningar på vilka dataoperationer som join, load, filter, sort och group utförs.
Språket Pig Latin använder exekveringsmekanismer som Grant-skal, UDF:er och inbäddade för att skriva Pig-skript som utför nödvändiga uppgifter.
Pig gör programmerares arbete enklare genom att konvertera dessa skrivna skript till Map-Reduce-jobbserier.
Apache Pig-arkitekturkomponenter inkluderar:
- Parser – Den hanterar Pig-skripten genom att kontrollera skriptets syntax och utföra typkontroll. Parserns utdata representerar Pig Latins uttalanden och logiska operatorer och kallas DAG (riktad acyklisk graf).
- Optimizer – Optimizern implementerar logiska optimeringar som projektion och pushdown på DAG.
- Kompilator – Kompilerar den optimerade logiska planen från optimeraren till en serie MapReduce-jobb.
- Execution Engine – Det är här den slutliga exekveringen av MapReduce-jobben till önskad utdata sker.
- Execution Mode – Exekveringslägena i Apache pig inkluderar huvudsakligen lokal och Map Reduce.
Svar: Metastore-tjänsten i Local Metastore körs i samma JVM som Hive men ansluter till en databas som körs i en separat process på samma eller en fjärrdator. Å andra sidan kör Metastore i Remote Metastore i sin JVM separat från Hive-tjänsten JVM.
Vilka är Big Datas fem V?
Svar: Dessa fem V står för Big Datas huvudsakliga egenskaper. De inkluderar:
- Värde: Big data strävar efter att ge betydande fördelar från hög avkastning på investeringar (ROI) till en organisation som använder big data i sin dataverksamhet. Big data hämtar detta värde från sin upptäckt av insikter och mönsterigenkänning, vilket resulterar i starkare kundrelationer och effektivare verksamhet, bland andra fördelar.
- Variation: Detta representerar heterogeniteten hos den typ av datatyper som samlas in. De olika formaten inkluderar CSV, videor, ljud etc.
- Volym: Detta definierar den betydande mängden och storleken på data som hanteras och analyseras av en organisation. Dessa data visar exponentiell tillväxt.
- Hastighet: Detta är den exponentiella hastigheten för datatillväxt.
- Veracity: Veracity hänvisar till hur ”osäker” eller ”okorrekt” data tillgänglig beror på att data är ofullständig eller inkonsekvent.
Förklara olika datatyper av grislatin.
Svar: Datatyperna i Pig Latin inkluderar atomära datatyper och komplexa datatyper.
Atomdatatyperna är de grundläggande datatyperna som används på alla andra språk. De inkluderar följande:
- Int – Denna datatyp definierar ett signerat 32-bitars heltal. Exempel: 13
- Lång – Lång definierar ett 64-bitars heltal. Exempel: 10L
- Flytande – Definierar en signerad 32-bitars flyttal. Exempel: 2,5F
- Dubbel – Definierar en 64-bitars flyttal med tecken. Exempel: 23.4
- Boolean – Definierar ett booleskt värde. Det inkluderar: Sant/falskt
- Datetime – Definierar ett datum-tid-värde. Exempel: 1980-01-01T00:00.00.000+00:00
Komplexa datatyper inkluderar:
- Karta- Karta hänvisar till en uppsättning nyckel-värdepar. Exempel: [‘color’#’yellow’, ‘number’#3]
- Väska – Det är en samling av en uppsättning tuplar, och den använder symbolen ’{}’. Exempel: {(Henry, 32), (Kiti, 47)}
- Tuppel – En tuppel definierar en ordnad uppsättning fält. Exempel: (Ålder, 33)
Vad är Apache Oozie och Apache ZooKeeper?
Svar: Apache Oozie är en Hadoop-schemaläggare som ansvarar för att schemalägga och binda samman Hadoop-jobb som ett enda logiskt arbete.
Apache Zookeeper, å andra sidan, samordnar med olika tjänster i en distribuerad miljö. Det sparar tid för utvecklarna genom att helt enkelt exponera enkla tjänster som synkronisering, gruppering, konfigurationsunderhåll och namngivning. Apache Zookeeper tillhandahåller också hyllstöd för kö- och ledareval.
Vilken roll har Combiner, RecordReader och Partitioner i en MapReduce-operation?
Svar: Kombinatorn fungerar som en minireducerare. Den tar emot och arbetar på data från kartuppgifter och skickar sedan datans utdata till reducerfasen.
RecordHeader kommunicerar med InputSplit och omvandlar data till nyckel-värdepar så att mapparen kan läsas på lämpligt sätt.
Partitioneraren är ansvarig för att bestämma antalet reducerade uppgifter som krävs för att sammanfatta data och bekräfta hur kombinerarutgångarna skickas till reduceraren. Partitioneraren styr också nyckelpartitionering av de mellanliggande kartutgångarna.
Nämn olika leverantörsspecifika distributioner av Hadoop.
Svar: De olika leverantörerna som utökar Hadoop-kapaciteten inkluderar:
- IBM Open-plattform.
- Cloudera CDH Hadoop Distribution
- MapR Hadoop Distribution
- Amazon Elastic MapReduce
- Hortonworks Data Platform (HDP)
- Pivotal Big Data Suite
- Datastax Enterprise Analytics
- Microsoft Azures HDInsight – Molnbaserad Hadoop-distribution.
Varför är HDFS-feltolerant?
Svar: HDFS replikerar data på olika DataNodes, vilket gör den feltolerant. Att lagra data i olika noder möjliggör hämtning från andra noder när ett läge kraschar.
Skilja mellan en federation och hög tillgänglighet.
Svar: HDFS Federation erbjuder feltolerans som tillåter kontinuerligt dataflöde i en nod när en annan kraschar. Å andra sidan kräver hög tillgänglighet två separata maskiner som konfigurerar den aktiva NameNode och den sekundära NameNode på den första och andra maskinen separat.
Federation kan ha ett obegränsat antal orelaterade namnnoder, medan i hög tillgänglighet är endast två relaterade namnnoder, aktiva och standby, som arbetar kontinuerligt, tillgängliga.
NameNodes i federationen delar en metadatapool, där varje NameNode har sin dedikerade pool. I High Availability körs dock de aktiva NameNodes var och en åt gången medan standby-NameNodes förblir inaktiva och bara uppdaterar sina metadata ibland.
Hur hittar man status för block och filsystems hälsa?
Svar: Du använder kommandot hdfs fsck / på både rotanvändarnivå och en individuell katalog för att kontrollera HDFS-filsystemets hälsostatus.
HDFS fsck kommando som används:
hdfs fsck / -files --blocks –locations> dfs-fsck.log
Kommandots beskrivning:
- -filer: Skriv ut filerna du kontrollerar.
- –placeringar: Skriver ut alla blocks positioner under kontroll.
Kommando för att kontrollera status för blocken:
hdfs fsck <path> -files -blocks
: Börjar kontrollerna från sökvägen som passerats här.- – block: Den skriver ut filblocken under kontroll
När använder du kommandona rmadmin-refreshNodes och dfsadmin-refreshNodes?
Svar: Dessa två kommandon är användbara för att uppdatera nodinformation antingen under driftsättning eller när noddrifttagning är klar.
Kommandot dfsadmin-refreshNodes kör HDFS-klienten och uppdaterar NameNodes nodkonfiguration. Kommandot rmadmin-refreshNodes, å andra sidan, utför ResourceManagers administrativa uppgifter.
Vad är en Checkpoint?
Svar: Checkpoint är en operation som slår samman filsystemets senaste ändringar med den senaste FSImage så att redigeringsloggfilerna förblir tillräckligt små för att påskynda processen att starta en NameNode. Kontrollpunkt uppstår i den sekundära namnnoden.
Varför använder vi HDFS för applikationer som har stora datamängder?
Svar: HDFS tillhandahåller en DataNode- och NameNode-arkitektur som implementerar ett distribuerat filsystem.
Dessa två arkitekturer ger högpresterande åtkomst till data över mycket skalbara kluster av Hadoop. Dess NameNode lagrar filsystemets metadata i RAM, vilket resulterar i att mängden minne begränsar antalet HDFS-filsystemfiler.
Vad gör kommandot ’jps’?
Svar: Kommandot Java Virtual Machine Process Status (JPS) kontrollerar om specifika Hadoop-demoner, inklusive NodeManager, DataNode, NameNode och ResourceManager, körs eller inte. Detta kommando krävs för att köras från roten för att kontrollera driftnoderna i värden.
Vad är ”Spekulativ avrättning” i Hadoop?
Svar: Detta är en process där masternoden i Hadoop, istället för att fixa upptäckta långsamma uppgifter, startar en annan instans av samma uppgift som en backup-uppgift (spekulativ uppgift) på en annan nod. Spekulativt utförande sparar mycket tid, särskilt i en miljö med intensiv arbetsbelastning.
Nämn de tre lägen där Hadoop kan köras.
Svar: De tre primära noderna som Hadoop körs på inkluderar:
- Fristående nod är standardläget som kör Hadoop-tjänsterna med det lokala filsystemet och en enda Java-process.
- Pseudo-distribuerad Node kör alla Hadoop-tjänster med en enda ode Hadoop-distribution.
- Fullt distribuerad Node kör Hadoop master- och slavtjänster med hjälp av separata noder.
Vad är en UDF?
Svar: UDF (User Defined Functions) låter dig koda dina anpassade funktioner som du kan använda för att bearbeta kolumnvärden under en Impala-fråga.
Vad är DistCp?
Svar: DistCp eller Distributed Copy, kort och gott, är ett användbart verktyg för stor inter- eller intra-klusterkopiering av data. Med hjälp av MapReduce implementerar DistCp effektivt den distribuerade kopian av en stor mängd data, bland andra uppgifter som felhantering, återställning och rapportering.
Svar: Hive metastore är en tjänst som lagrar Apache Hive-metadata för Hive-tabellerna i en relationsdatabas som MySQL. Det tillhandahåller metastore-tjänstens API som tillåter cent-åtkomst till metadata.
Definiera RDD.
Svar: RDD, som står för Resilient Distributed Dataset, är Sparks datastruktur och en oföränderlig distribuerad samling av dina dataelement som beräknar på de olika klusternoderna.
Hur kan inhemska bibliotek inkluderas i YARN-jobb?
Svar: Du kan implementera detta genom att antingen använda -Djava.library. sökvägsalternativ på kommandot eller genom att ställa in LD+LIBRARY_PATH i .bashrc-filen med följande format:
<property> <name>mapreduce.map.env</name> <value>LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/my/libs</value> </property>
Förklara ’WAL’ i HBase.
Svar: Write Ahead Log (WAL) är ett återställningsprotokoll som registrerar MemStore-dataändringar i HBase till den filbaserade lagringen. WAL återställer dessa data om RegionalServer kraschar eller innan MemStore töms.
Är GARN en ersättning för Hadoop MapReduce?
Svar: Nej, YARN är inte en Hadoop MapReduce-ersättning. Istället stöder en kraftfull teknik som kallas Hadoop 2.0 eller MapReduce 2 MapReduce.
Vad är skillnaden mellan ORDER BY och SORT BY i HIVE?
Svar: Även om båda kommandona hämtar data på ett sorterat sätt i Hive, kan resultat från att använda SORT BY endast ordnas delvis.
Dessutom kräver SORT BY en reducering för att beställa raderna. Dessa reducerare som krävs för den slutliga utmatningen kan också vara flera. I detta fall kan den slutliga utmatningen vara delvis beställd.
Å andra sidan kräver ORDER BY bara en reducering för en total order i produktion. Du kan också använda nyckelordet LIMIT som minskar den totala sorteringstiden.
Vad är skillnaden mellan Spark och Hadoop?
Svar: Medan både Hadoop och Spark är distribuerade bearbetningsramverk, är deras viktigaste skillnad deras bearbetning. Där Hadoop är effektivt för batchbearbetning, är Spark effektivt för realtidsdatabehandling.
Dessutom läser och skriver Hadoop huvudsakligen filer till HDFS, medan Spark använder konceptet Resilient Distributed Dataset för att bearbeta data i RAM.
Baserat på deras latens är Hadoop ett datorramverk med hög latens utan ett interaktivt läge för att bearbeta data, medan Spark är ett datorramverk med låg latens som bearbetar data interaktivt.
Jämför Sqoop och Flume.
Svar: Sqoop och Flume är Hadoop-verktyg som samlar in data som samlats in från olika källor och laddar in data till HDFS.
- Sqoop(SQL-to-Hadoop) extraherar strukturerad data från databaser, inklusive Teradata, MySQL, Oracle, etc., medan Flume är användbart för att extrahera ostrukturerad data från databaskällor och ladda in dem i HDFS.
- När det gäller drivna händelser är Flume händelsedrivet, medan Sqoop inte drivs av händelser.
- Sqoop använder en kopplingsbaserad arkitektur där kopplingar vet hur man ansluter till en annan datakälla. Flume använder en agentbaserad arkitektur, där koden skriven är den agent som ansvarar för att hämta data.
- På grund av Flumes distribuerade natur kan den enkelt samla in och aggregera data. Sqoop är användbart för parallell dataöverföring, vilket resulterar i att utdata finns i flera filer.
Förklara BloomMapFile.
Svar: BloomMapFile är en klass som utökar MapFile-klassen och använder dynamiska blomfilter som ger ett snabbt medlemskapstest för nycklar.
Lista skillnaden mellan HiveQL och PigLatin.
Svar: Medan HiveQL är ett deklarativt språk som liknar SQL, är PigLatin ett processuellt dataflödesspråk på hög nivå.
Vad är datarensning?
Svar: Datarensning är en avgörande process för att bli av med eller åtgärda identifierade datafel som inkluderar felaktiga, ofullständiga, korrupta, duplicerade och felaktigt formaterade data i en datauppsättning.
Denna process syftar till att förbättra kvaliteten på data och tillhandahålla mer exakt, konsekvent och tillförlitlig information som är nödvändig för effektivt beslutsfattande inom en organisation.
Slutsats💃
Med den nuvarande ökningen av Big data och Hadoop-jobbmöjligheterna kanske du vill förbättra dina chanser att komma in. Den här artikelns Hadoop-intervjufrågor och svar hjälper dig att klara den kommande intervjun.
Därefter kan du kolla in bra resurser för att lära dig Big Data och Hadoop.
Lycka till! 👍