Introduktion till Hadoop-komponenter

Hadoop-komponenter är främst HDFS, Map Reduce, Garn. Idag lever vi i en digital tid där dataproduktionshastigheten är mycket hög, ungefär vi producerar 2, 5 kvintillioner data per dag. Även om lagringskapaciteten för diskarna ökar men sökfrekvensen har inte ökat för denna datamängd. För att övervinna detta måste vi läsa data parallellt, för att uppnå detta i Hadoop har vi ett HDFS (Hadoop Distribuerat filsystem) där datasätten lagras som block i HDFS (för mer information se HDFS avsnitt) för att läsa data parallellt och uppnå högre bearbetningshastighet. Bearbetning av data görs för att hämta eller förutsäga meningsfull information eller för att få några trender eller mönster. MapReduce-processen används för att åstadkomma önskad information. Karta och Minska är de två olika faserna för bearbetning av data.

Huvudkomponenter i Hadoop

De viktigaste komponenterna i Hadoop beskrivs nedan:

1. Hadoop Distribuerat filsystem (HDFS)

HDFS är lagringslagret för Big Data, det är ett kluster av många maskiner, lagrade data kan användas för behandling med Hadoop. När data har skjutits till HDFS kan vi behandla dem när som helst, tills den tid vi bearbetar data kommer att finnas i HDFS tills vi tar bort filerna manuellt. HDFS lagrar data som ett block, blockets minsta storlek är 128 MB i Hadoop 2.x och för 1.x var det 64 MB. HDFS replikerar blocken för tillgängliga data om data lagras i en maskin och om maskinen misslyckas data inte går förlorade men för att undvika dessa, replikeras data över olika maskiner. Replikeringsfaktor är som standard 3 och vi kan ändra i HDFS-site.xml eller använda kommandot Hadoop fs -strep -w 3 / dir genom att replikera vi har blocken på olika maskiner för hög tillgänglighet.
HDFS är en master-slavarkitektur, det är NameNode som master och Data Node som slave. NameNode är den maskin där alla metadata lagras av alla block lagrade i DataNode.

2. Garn

YARN introducerades i Hadoop 2.x innan Hadoop hade en JobTracker för resurshanteringen. Job Tracker var befälhavaren och den hade en Task Tracker som slaven. Job Tracker var den som brukade ta hand om att schemalägga jobben och fördela resurser. Task Tracker används för att ta hand om kartan och minska uppgifterna och status uppdaterades periodiskt till Job Tracker. With är en typ av resurshanterare som hade en skalbarhetsgräns och samtidigt utförande av uppgifterna hade också en begränsning. Dessa problem behandlades i YARN och det handlade om resursallokering och schemaläggning av jobb i ett kluster. Utföra en karta Minska jobbet behöver resurser i ett kluster för att få de resurser som tilldelats för jobbet YARN hjälper. YARN avgör vilket jobb som ska utföras och vilken maskin det görs. Den har all information om tillgängliga kärnor och minne i klustret, den spårar minneskonsumtionen i klustret. Det interagerar med NameNode om data där de finns för att fatta beslut om resursallokering.

3. MapReduce

Hadoop-ekosystemet är ett kostnadseffektivt, skalbart och flexibelt sätt att arbeta med så stora datasätt. Hadoop är ett ramverk som använder en viss programmeringsmodell, kallad MapReduce, för att dela upp beräkningsuppgifter i block som kan distribueras runt ett kluster av handelsmaskiner med Hadoop Distribuerad Filesystem (HDFS).

MapReduce är en två olika uppgifter Map and Reduce, Map föregår reduceringsfasen. Som namnet antyder kartfas kartlägger data i nyckelvärdespar, som vi alla vet Hadoop använder nyckelvärden för bearbetning. Minskningsfas är den fas där vi har den faktiska logiken som ska implementeras. Bortsett från dessa två faser, implementerar det blandnings- och sorteringsfasen också.

1. Mapper

Mapper är klassen där inmatningsfilen konverteras till nycklar och värdepar för vidare bearbetning. När du läser data läses den endast i nyckelvärden där nyckeln är bitförskjuten och värdet är hela posten.

Vi har t.ex. en fil Diary.txt genom att vi har två rader skrivna, dvs två poster.

Detta är en underbar dag som vi borde njuta av här, förskjutningarna för 't' är 0 och för 'w' är det 33 (vita områden betraktas också som ett tecken), så mapparen kommer att läsa uppgifterna som nyckelvärdespar, som (nyckel, värde), (0, detta är en underbar dag), (33, vi bör njuta av)

2. Minskare

Reducer är den klass som accepterar nycklar och värden från utgången från kartläggarens fas. Nycklar och värden genererade från mapper accepteras som input i reducerare för vidare bearbetning. Reducer accepterar data från flera kartläggare. Minskningsaggregat aggregerar dessa mellanliggande data till ett reducerat antal nycklar och värden som är den slutliga utgången, vi kommer att se detta i exemplet.

3. Förare

Bortsett från kartlägger och reduceringsklass behöver vi ytterligare en klass som är förarklass. Denna kod är nödvändig för MapReduce eftersom det är bron mellan ramverket och logiken som implementerats. Den specificerar konfigurationen, inmatningsdatasökvägen, utmatningslagringsvägen och viktigast av vilket klipp- och reducerarklasser som måste implementeras också många andra konfigurationer ställs in i denna klass. t.ex. i förarklassen, kan vi specificera separatorn för utdatafilen som visas i förarklassen i exemplet nedan.

Exempel

Tänk på att vi har ett dataset med resebyrå, nu måste vi beräkna utifrån uppgifterna hur många som väljer att resa till en viss destination. För att uppnå detta måste vi ta destination som nyckel och för räkningen tar vi värdet som 1. Så i mapperfasen kommer vi att kartlägga destination till värde 1. Nu i shuffle och sorteringsfas efter mapper, det kommer att kartlägga alla värden till en viss nyckel. Om vi ​​t.ex. har en destination som MAA har vi kartlagt 1 också har vi 2 händelser efter blandningen och sorteringen får vi MAA, (1, 1) där (1, 1) är värdet. Nu i reduceringsfasen har vi redan en logik implementerad i reduceringsfasen för att lägga till värden för att få det totala antalet bokade biljetter till destinationen. Detta är flödet av MapReduce.

Nedan visas skärmdumpen av det implementerade programmet för exemplet ovan.

1. Förarklass

2. Mapper Class

3. Minskningsklass

Utför Hadoop

För exekvering av Hadoop måste vi först bygga burken och sedan kan vi köra med kommandot Hadoop jar eample.jar /input.txt /output.txt nedan

Slutsats

Här har vi diskuterat kärnkomponenterna i Hadoop som HDFS, Map Reduce och YARN. Det är ett distribuerat datorram för kluster som hjälper till att lagra och bearbeta data och göra den nödvändiga analysen på den insamlade datan. Hadoop är flexibel, pålitlig med avseende på data eftersom data är replikerade och skalbara, dvs vi kan lägga till fler maskiner i klustret för lagring och bearbetning av data.

Rekommenderade artiklar

Detta har varit en guide till Hadoop Components. Här diskuterade vi kärnkomponenterna i Hadoop med exempel. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

  1. Introduktion till JDBC Architecture
  2. Vad är Hadoop Cluster?
  3. Vad är MapReduce i Hadoop?
  4. Vad är Big data och Hadoop
  5. Hadoop fs kommandon

Kategori: