Top 60 Hadoop & MapReduce Interview Questions & Odpovědi

Anonim

Stáhnout PDF

Níže jsou uvedeny často kladené otázky v rozhovorech pro nováčky i zkušené vývojáře.

1) Co je Hadoop Map Reduce?

Pro paralelní zpracování velkých datových sad napříč clusterem Hadoop se používá rámec Hadoop MapReduce. Analýza dat využívá dvoustupňovou mapu a redukuje proces.

2) Jak Hadoop MapReduce funguje?

V MapReduce během fáze mapy počítá slova v každém dokumentu, zatímco ve fázi redukce agreguje data podle dokumentu, který zahrnuje celou kolekci. Během fáze mapování jsou vstupní data rozdělena na rozdělení pro analýzu mapovými úlohami běžícími paralelně v rámci Hadoop.

3) Vysvětlete, co se v MapReduce míchá?

Proces, kterým systém provádí třídění a přenáší výstupy mapy na reduktor jako vstupy, se nazývá shuffle

4) Vysvětlete, co je distribuovaná mezipaměť v MapReduce Framework?

Distribuovaná mezipaměť je důležitá funkce, kterou poskytuje rámec MapReduce. Pokud chcete sdílet některé soubory napříč všemi uzly v Hadoop Cluster, použije se Distributed Cache. Soubory mohou být spustitelné soubory jar nebo soubor jednoduchých vlastností.

5) Vysvětlete, co je NameNode v Hadoopu?

NameNode v Hadoop je uzel, kde Hadoop ukládá všechny informace o umístění souborů v HDFS (Hadoop Distributed File System). Jinými slovy, NameNode je středobodem systému souborů HDFS. Udržuje záznam všech souborů v systému souborů a sleduje data souborů v klastru nebo více strojích

6) Vysvětlete, co je JobTracker v Hadoopu? Jaké kroky následuje Hadoop?

V Hadoopu pro odesílání a sledování úloh MapReduce se používá JobTracker. Sledovač úloh běží na vlastním procesu JVM

Job Tracker provádí v Hadoopu následující akce

  • Klientská aplikace odesílá úlohy do sledovače úloh
  • JobTracker komunikuje do režimu Name, aby určil umístění dat
  • V blízkosti dat nebo s dostupnými sloty JobTracker vyhledá uzly TaskTracker
  • Na vybraných uzlech TaskTracker odešle práci
  • Když úkol selže, Job Tracker na to upozorní a rozhodne, co bude dělat.
  • Uzly TaskTracker jsou sledovány JobTrackerem

7) Vysvětlete, co je tlukot srdce v HDFS?

Heartbeat je odkazován na signál používaný mezi datovým uzlem a uzlem Název a mezi sledovačem úloh a sledovačem úloh, pokud uzel Název nebo sledovač úloh nereaguje na signál, pak se má za to, že existují problémy s datovým uzlem nebo úkolem stopař

8) Vysvětlete, co jsou kombinátory a kdy byste měli použít kombinátor v Job MapReduce?

Ke zvýšení efektivity programu MapReduce se používají kombinátory. Množství dat lze snížit pomocí kombinátoru, který je třeba přenést do reduktorů. Pokud je prováděná operace komutativní a asociativní, můžete použít redukční kód jako kombinátor. V Hadoop není zaručeno provedení kombinátoru

9) Co se stane, když selže datový uzel?

Když selže datový uzel

  • Jobtracker a namenode detekují poruchu
  • Na neúspěšném uzlu jsou všechny úkoly přeplánovány
  • Namenode replikuje data uživatele do jiného uzlu

10) Vysvětlete, co je spekulativní poprava?

V Hadoopu během spekulativního provádění je spuštěn určitý počet duplicitních úkolů. Na jiném podřízeném uzlu lze pomocí Speculative Execution provést více kopií stejné mapy nebo zmenšit úlohu. Jednoduše řečeno, pokud konkrétní jednotce trvá dokončení úlohy dlouho, Hadoop vytvoří duplicitní úlohu na jiném disku. Disk, který jako první dokončí úlohu, je zachován a disky, které nedokončí první, jsou zabity.

11) Vysvětlete, jaké jsou základní parametry mapovače?

Základní parametry mapovače jsou

  • LongWritable a Text
  • Textové a IntWritable

12) Vysvětlete, jaká je funkce děliče MapReduce?

Funkce děliče MapReduce je zajistit, aby veškerá hodnota jednoho klíče šla do stejného reduktoru, což nakonec pomůže rovnoměrné distribuci výstupu mapy přes reduktory

13) Vysvětlete, jaký je rozdíl mezi Input Split a HDFS Block?

Logické rozdělení dat je známé jako Split, zatímco fyzické rozdělení dat je známé jako HDFS Block

14) Vysvětlete, co se stane v textovém formátu?

Ve formátu pro zadávání textu je každý řádek textového souboru záznamem. Hodnota je obsah řádku, zatímco Key je posunutí bajtu řádku. Například Key: longWritable, Value: text

15) Uveďte, jaké jsou hlavní konfigurační parametry, které musí uživatel zadat, aby mohl spustit MapReduce Job?

Uživatel rámce MapReduce musí zadat

  • Vstupní umístění úlohy v distribuovaném systému souborů
  • Místo výstupu úlohy v distribuovaném systému souborů
  • Vstupní formát
  • Výstupní formát
  • Třída obsahující funkci mapy
  • Třída obsahující funkci zmenšit
  • Soubor JAR obsahující třídy mapovače, redukce a ovladačů

16) Vysvětlete, co je WebDAV v Hadoopu?

Pro podporu úprav a aktualizace souborů je WebDAV sada rozšíření protokolu HTTP. Ve většině operačních systémů lze sdílení WebDAV připojit jako souborové systémy, takže je možné přistupovat k HDFS jako ke standardnímu souborovému systému vystavením HDFS přes WebDAV.

17) Vysvětlete, co je Sqoop v Hadoopu?

K přenosu dat mezi správou relačních databází (RDBMS) a Hadoop HDFS se používá nástroj známý jako Sqoop. Pomocí Sqoop lze data přenášet z RDMS jako MySQL nebo Oracle do HDFS a také exportovat data ze souboru HDFS do RDBMS

18) Vysvětlete, jak JobTracker naplánuje úkol?

Sledovač úloh odesílá do Jobtrackeru zprávy prezenčního signálu obvykle každých několik minut, aby se ujistil, že je JobTracker aktivní a funkční. Zpráva také informuje JobTracker o počtu dostupných slotů, takže JobTracker může zůstat aktuální s tím, kde lze delegovat práci klastru

19) Vysvětlete, co je Sequencefileinputformat?

Sequencefileinputformat se používá pro postupné čtení souborů. Jedná se o specifický komprimovaný formát binárního souboru, který je optimalizován pro předávání dat mezi výstupem jedné úlohy MapReduce na vstup jiné úlohy MapReduce.

20) Vysvětlete, co dělá třída conf.setMapper?

Conf.setMapperclass nastaví třídu mapovače a všechny věci související s mapovou úlohou, jako je čtení dat a generování páru klíč – hodnota z mapovače

21) Vysvětlete, co je Hadoop?

Jedná se o softwarový rámec open-source pro ukládání dat a spouštění aplikací na klastrech komoditního hardwaru. Poskytuje obrovský výpočetní výkon a obrovské úložiště pro jakýkoli typ dat.

22) Uveďte, jaký je rozdíl mezi RDBMS a Hadoop?

RDBMS Hadoop
RDBMS je systém správy relačních databází Hadoop je uzlová plochá struktura
Používá se pro zpracování OLTP, zatímco Hadoop V současné době se používá pro analytické a pro zpracování VELKÝCH DAT
V RDBMS používá databázový klastr stejné datové soubory uložené ve sdíleném úložišti V Hadoopu lze data úložiště ukládat samostatně v každém uzlu zpracování.
Před uložením musíte data předem zpracovat před uložením nemusíte data předzpracovávat

23) Zmínit základní komponenty Hadoop?

Mezi hlavní komponenty Hadoop patří

  • HDFS
  • MapReduce

24) Co je NameNode v Hadoopu?

NameNode v Hadoopu je místo, kde Hadoop ukládá všechny informace o umístění souborů v HDFS. Jedná se o hlavní uzel, na kterém běží sledovač úloh a skládá se z metadat.

25) Uveďte, jaké datové komponenty používá Hadoop?

Datové komponenty používané Hadoopem jsou

  • Prase
  • Úl

26) Uveďte, jaká součást úložiště dat používá Hadoop?

Součástí úložiště dat používanou společností Hadoop je HBase.

27) Uveďte, jaké jsou nejběžnější vstupní formáty definované v Hadoopu?

Nejběžnější vstupní formáty definované v Hadoop jsou;

  • TextInputFormat
  • KeyValueInputFormat
  • SequenceFileInputFormat

28) Co je v Hadoopu InputSplit?

Rozdělí vstupní soubory na bloky a každé rozdělení přiřadí mapovači ke zpracování.

29) Jak pro úlohu Hadoop napíšete vlastní oddíl?

Napíšete vlastní oddíl pro úlohu Hadoop, budete postupovat podle následující cesty

  • Vytvořte novou třídu, která rozšiřuje třídu oddílů
  • Přepsat metodu getPartition
  • V obálce, která spouští MapReduce
  • Přidejte do úlohy vlastní děliče pomocí sady metod třídy děliče nebo - přidejte do úlohy vlastní děliče jako konfigurační soubor

30) Je možné u úlohy v Hadoopu změnit počet vytvářených mapovačů?

Ne, není možné změnit počet vytvářených mapovačů. Počet mapovačů je určen počtem vstupních rozdělení.

31) Vysvětlete, co je soubor sekvencí v Hadoopu?

K ukládání dvojic binárních klíčů a hodnot se používá sekvenční soubor. Na rozdíl od běžného komprimovaného souboru podporuje sekvenční soubor rozdělení, i když jsou data uvnitř souboru komprimována.

32) Když je Namenode nefunkční, co se stane se sledovačem úloh?

Namenode je jediný bod selhání v HDFS, takže když je Namenode dole, váš cluster se vydá.

33) Vysvětlete, jak se provádí indexování v HDFS?

Hadoop má jedinečný způsob indexování. Jakmile jsou data uložena podle velikosti bloku, HDFS bude nadále ukládat poslední část dat, která říkají, kde bude další část dat.

34) Vysvětlete, je možné vyhledávat soubory pomocí zástupných znaků?

Ano, je možné vyhledávat soubory pomocí zástupných znaků.

35) Seznam tří konfiguračních souborů Hadoop?

Tři konfigurační soubory jsou

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

36) Vysvětlete, jak můžete zkontrolovat, zda Namenode kromě příkazu jps funguje?

Kromě použití příkazu jps můžete také zkontrolovat, zda Namenode funguje

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

37) Vysvětlete, co je „mapa“ a co je „redukce“ v Hadoopu?

V Hadoopu je mapa fází řešení dotazů HDFS. Mapa čte data ze vstupního umístění a vydává pár klíč-hodnota podle typu vstupu.

V Hadoopu reduktor shromažďuje výstup generovaný mapovačem, zpracovává jej a vytváří vlastní finální výstup.

38) Který soubor v Hadoopu řídí hlášení v Hadoopu?

V Hadoopu kontroluje hlášení soubor hadoop-metrics.properties.

39) Chcete-li používat seznam Hadoop, síťové požadavky?

Seznam používání sítě Hadoop je následující:

  • SSH připojení bez hesla
  • Secure Shell (SSH) pro spouštění serverových procesů

40) Uveďte, co je povědomí o stojanu?

Povědomí o stojanu je způsob, jakým jmenný uzel určuje, jak umístit bloky na základě definic stojanu.

41) Vysvětlete, co je nástroj pro sledování úloh v Hadoopu?

Sledovač úloh v Hadoop je démon podřízeného uzlu v klastru, který přijímá úkoly z JobTrackeru. Každých několik minut také odesílá prezenční zprávy JobTrackeru, aby se potvrdilo, že je JobTracker stále naživu.

42) Uveďte, jaké démony běží na hlavním a podřízeném uzlu?

  • Démoni běžící na hlavním uzlu jsou „NameNode“
  • Démoni běžící na každém uzlu Slave jsou „Task Tracker“ a „Data“

43) Vysvětlete, jak můžete ladit kód Hadoop?

Populární metody pro ladění kódu Hadoop jsou:

  • Pomocí webového rozhraní poskytovaného Hadoop frameworkem
  • Pomocí čítačů

44) Vysvětlete, co jsou úložiště a výpočetní uzly?

  • Uzel úložiště je stroj nebo počítač, ve kterém je umístěn váš souborový systém pro ukládání zpracovávaných dat
  • Uzel pro výpočet je počítač nebo stroj, kde bude provedena vaše skutečná obchodní logika.

45) Uveďte, jaké je použití kontextového objektu?

Kontextový objekt umožňuje mapovači komunikovat se zbytkem Hadoopu

Systém. Zahrnuje konfigurační data úlohy a také rozhraní, která jí umožňují vydávat výstup.

46) Uveďte, jaký je další krok po Mapper nebo MapTask?

Dalším krokem po Mapperu nebo MapTasku je, že výstup Mapperu bude seřazen a pro výstup budou vytvořeny oddíly.

47) Uveďte, jaký je počet výchozích oddílů v Hadoopu?

V Hadoopu je výchozím oddílem oddíl „Hash“.

48) Vysvětlete, jaký je účel RecordReaderu v Hadoopu?

V Hadoopu RecordReader načte data ze svého zdroje a převede je na páry (klíč, hodnota) vhodné pro čtení Mapperem.

49) Vysvětlete, jak jsou data rozdělena před tím, než jsou odeslána do reduktoru, pokud v Hadoopu není definován žádný vlastní rozdělovač?

Pokud v Hadoopu není definován žádný vlastní rozdělovač, pak výchozí rozdělovač vypočítá hodnotu hash klíče a přiřadí oddíl na základě výsledku.

50) Vysvětlete, co se stane, když Hadoop vytvořil 50 úkolů pro úlohu a jeden z úkolů selhal?

Bude-li úkol selhat více než je definovaný limit, restartuje úlohu znovu na jiném TaskTrackeru.

51) Uveďte, jaký je nejlepší způsob kopírování souborů mezi klastry HDFS?

Nejlepší způsob kopírování souborů mezi klastry HDFS je použití více uzlů a příkazu distcp, takže je sdílená pracovní zátěž.

52) Uveďte, jaký je rozdíl mezi HDFS a NAS?

Datové bloky HDFS jsou distribuovány na místní disky všech strojů v klastru, zatímco data NAS jsou uložena na vyhrazeném hardwaru.

53) Uveďte, v čem se Hadoop liší od ostatních nástrojů pro zpracování dat?

V Hadoopu můžete zvýšit nebo snížit počet mapovačů bez obav o objem zpracovávaných dat.

54) Uveďte, jakou práci dělá třída conf?

Třída konfiguračních úloh odděluje různé úlohy spuštěné ve stejném clusteru. Provádí nastavení úrovně úlohy, jako je deklarování úlohy ve skutečném prostředí.

55) Uveďte, co je smlouva API Hadoop MapReduce pro třídu klíčů a hodnot?

Pro třídu klíčů a hodnot existují dva kontrakty API Hadoop MapReduce

  • Hodnota musí definovat rozhraní org.apache.hadoop.io.Writable
  • Klíčem musí být definování rozhraní org.apache.hadoop.io.WritableComparable

56) Uveďte, jaké jsou tři režimy, ve kterých lze spustit Hadoop?

Jsou tři režimy, ve kterých lze spustit Hadoop

  • Pseudo distribuovaný režim
  • Samostatný (místní) režim
  • Plně distribuovaný režim

57) Uveďte, co dělá formát pro zadávání textu?

Formát pro zadávání textu vytvoří řádkový objekt, který je šestnáctkovým číslem. Hodnota je považována za celý řádkový text, zatímco klíč je považován za řádkový objekt. Mapovač obdrží hodnotu jako parametr „text“, zatímco klíč jako parametr „dlouhý text“.

58) Uveďte, kolik InputSplits vytváří Hadoop Framework?

Hadoop udělá 5 rozdělení

  • 1 rozdělení pro 64 kB souborů
  • 2 rozdělení pro soubory 65 MB
  • 2 rozdělení pro soubory 127 MB

59) Uveďte, co je distribuovaná mezipaměť v Hadoopu?

Distribuovaná mezipaměť v Hadoop je zařízení poskytované rámcem MapReduce. V době provádění úlohy se používá k ukládání do mezipaměti. Rámec zkopíruje potřebné soubory do podřízeného uzlu před provedením jakékoli úlohy v tomto uzlu.

60) Vysvětlete, jak hraje Hadoop Classpath zásadní roli při zastavení nebo spuštění démonů Hadoop?

Classpath bude sestávat ze seznamu adresářů obsahujících soubory jar pro zastavení nebo spuštění démonů.